写点什么

MKMapView 的性能优化 - iOS 移动开发周报

  • 2015-07-21
  • 本文字数:1680 字

    阅读完需:约 6 分钟

新闻

  1. Apple Watch 新广告中的中国元素:中国业已成为 Apple 的最重要的市场之一,最近 Apple 发布了一系列关于 Apple Watch 的电视广告,其中有一个主题就是北京。虽然除了舞台背景是在北京以外,并看不出 Apple Watch 在使用上和北京有什么太大关系,但是这则广告确确实实是为了迎合中国市场的行动。
  2. 网络音乐版权新政策:国家版权局最近发布了一则通知,要求网络音乐服务商停止未经授权传播音乐作品,并责令各大网络音乐平台在 7 月 31 日前将未经授权的音乐作品全部下线。QQ 音乐、酷狗音乐、网易云音乐等 25 家网络音乐服务商签署《网络音乐版权保护自律宣言》,承诺抵制各类侵犯网络音乐著作权行为。此举是对国内网络音乐版权的规范,而版权付费和正版化,也是必然趋势。也许这一变化会给 Apple Music 在国内的推广带来一些机会。

教程

  1. 《UICollectionViews Now Have Easy Reordering》:作为和 TableView 一样的最常用的控件之一,CollectionView 自从在 iOS 5 上出现以来就一直在不断改进。在 iOS 9 SDK 中 UICollectionView 已经加入了原生的拖拽重新排列的相关 API,本文通过例子讲解了这个功能的实现方式。如果你还没有使用过 UICollectionView 来制作界面的话,不妨在下一个项目中用它来全面代替 UITableView - 因为从功能上来说后者其实只是前者的一个子集,Collection 相比起来要灵活得多。
  2. 《一次对 MKMapView 的性能优化》:作者通过使用 Instruments 检测并解决了一个遮罩渲染导致的性能恶化的问题,如果你没有 Instruments 的使用经验的话可以阅读本文。对于像文中的圆角或是阴影的处理,有经验的开发者往往能进行一定预判并提前采取手段优化。但是对于更复杂的 view 结构的优化,使用 Instruments 来检测问题源头是必备的技能,也更为可靠。
  3. 《iOS9 Day-by-Day》:iOS Day by Day 系列教程的最新版本。从 iOS 7 起,这位博主就会在 WWDC 之后每天更新一篇新 SDK 中的亮点功能的教程,这次也不例外。想要在短时间内了解新内容的开发者可以考虑订阅这些内容。相应的代码作者也公开在 GitHub 上了,另外如果您对前几年的内容感兴趣的话,还可以继续看看 iOS7 Day by Day iOS8 Day bt Day

开源项目

  1. SCSafariPageController :一个类似于 iOS Safari 中切换标签页时的特效。这个框架接口类似于 UIPageViewController,用户可以提供页面信息,框架将使用 3D 动画帮助你实现切换。如果在应用中有需要模仿系统浏览器标签切换效果的需求的话,这个框架应该可以帮助你节省不少时间。
  2. BTNavigationDropdownMenu :为 Navigation Bar 添加一个菜单,可以用来作为 View Controller 导航。iOS 开发中标准的导航模式其实只有 navigation 和 tab 两种,而众多开发者们也自己发明了像是 drawer 这样的新的导航方式。使用这个框架为我们提供了另一种新的导航模式思路。
  3. LxThroughPointsBezier :计算贝塞尔曲线一直是一件挺烦人的事情,往往需要对控制点进行大量的调整,才能获得理想的曲线。这个框架为我们简化了这一过程,只需要给定想要一条贝塞尔曲线通过的点,以及像是曲率这样的参数,就能帮我们绘制出通过这些点的曲线,这可以大大节省调整曲线的时间。
  4. MPCoachMarks :在 app 制作时一个很通用的需求就是引导教程,一个好的引导教程不仅是展示你的 app 的绝好机会,也能让用户快速明白 app 的基本操作和功能,拉近 app 与用户的距离。这个框架可以为现有的 UI 添加一个变暗的 mask 层,只露出部分 UI。另外,我们还可以简单地在这个 mask 上添加图片或者文本,在创建一个简单的指引式教程时这些特性都是非常方便的。
  5. ParkedTextField :一个可以固定后缀的文本框控件,可以用来引导用户输入一些类似邮箱,域名或者文件名之类的信息。这个项目本身内容并不复杂,源码也很少,但是因为使用了 IBInspectable,这让我们可以在 Interface Builder 中直观地使用这个控件。

感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注 我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者)。

2015-07-21 07:463143
用户头像

发布了 59 篇内容, 共 23.2 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

【Python】关于 Type Hints 你应该知道这些

zhujun

Python

为您收录的操作系统系列 - 线程小常识

鲁米

线程

(28DW-S8-Day6)区块链如何解决双重支付及防篡改

mtfelix

比特币 区块链 防篡改 28天写作 双重支付

前端HTML5面试官和应试者一问一答

我是哪吒

html 程序员 大前端 28天写作 2月春节不断更

只有两颗糖,什么时候给——再谈峰终定律

Justin

心理学 28天写作 游戏设计

水墨屏开发设备,旧 Kindle 改造而成

HelloGitHub

开源 硬件 kindle

Kafka.08 - 消息交付可靠性保障

insight

kafak 2月春节不断更

敏捷业务实践之计划游戏

Teobler

项目管理 敏捷 敏捷开发 敏捷开发管理

让听见炮火的人来做决策,做决策的要好好听听炮火

数列科技杨德华

28天写作

关于个人认知的一些碎碎念「Day 6」

道伟

心理学 认知 28天写作

当深度学习遇上图: 图神经网络的兴起!

博文视点Broadview

话题讨论 | 各地都有什么特别的元宵节活动?

happlyfox

社会话题 话题讨论 28天写作 2月春节不断更 话题王者

敏捷团队实践

Teobler

项目管理 敏捷 敏捷开发 工程实践 敏捷开发管理

泰康和百度智能云为何相互需要?

吴俊宇

百度 保险数字化 泰康

微信小程序开发笔记(一)

陈飞

小程序

使用 Tye 辅助开发 k8s 应用竟如此简单(六)

newbe36524

Docker Kubernetes 微服务 dotnet

28天瞎写的第二百四十四天:冥想的种类

树上

冥想 28天写作 正念

视频号直播和 PageRank 算法 [待完善]

小匚

机器学习

Linux入门篇 —— Linux软件安装(YUM & RPM & 源码)

若尘

Linux 源码 RPM安装 rpm yum

爬虫知识记录之一

头号摄影师

爬虫

我凭借这份“2021全网最全Java面试清单”彻底征服阿里面试官

比伯

Java 编程 程序员 架构 面试

Selenium 自动化前的补充知识,Frame操作、多窗口切换、模糊定位、复合定位

梦想橡皮擦

Python 28天写作 2月春节不断更

Elasticsearch 一个 field 两个索引

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

小步发布、验收测试和完整团队

Teobler

项目管理 敏捷 敏捷开发 工程实践 敏捷开发管理

“定义”

Nydia

敏捷技术实践之TDD

Teobler

敏捷 敏捷开发 TDD 极限编程 测试驱动开发

山东区块链赋能农产品溯源平台解决方案

源中瑞-龙先生

基于SpringBoot实现文件的上传下载

Java鱼仔

springboot

手把手教你爬取优酷电影信息-2

happlyfox

学习 28天写作 2月春节不断更

1.2 Go语言从入门到精通:编写第一个Go程序

xcbeyond

28天写作 Go 语言

手把手教你爬取优酷电影信息-1

happlyfox

学习 爬虫 28天写作 2月春节不断更

MKMapView的性能优化 - iOS移动开发周报_移动_王巍_InfoQ精选文章