写点什么

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:463343
用户头像

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

关注

评论

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

第 4 周 作业

Pyr0man1ac

MySQL一个面试问题的思考

薛腾

MySQL

MySQL 建表为啥还设置个自增 id ?用流水号当主键不正好么?

程序员小航

Java MySQL 开发 工作笔记 流水号

架构师训练营第 1 期 第 4 周作业

李循律

极客大学架构师训练营

架构师训练营 - 第 4 周学习总结(1 期)

阿甘

架构一期第四周作业

Airs

为了省钱,我用1天时间把PHP学完,装进DDD领域驱动设计里!

小傅哥

php 设计模式 小傅哥 架构师

【架构师训练营第 1 期 04 周】 学习总结

Bear

极客大学架构师训练营

极客大学-架构师训练营第一期 - 第四周作业

Black Eyed Peter

极客大学架构师训练营

架构师训练营第四周课程笔记及心得

Airs

游戏夜读 | 怎么做联网五子棋?

game1night

SpringBoot系列(3)- 快速开发业务代码

引花眠

springboot

架构1期week04

FG佳

极客大学架构师训练营

架构1期week04总结

FG佳

极客大学架构师训练营

架构一期二班-吴水金-第三课作业

吴水金

架构一期二班-吴水金-第三课总结

吴水金

架构师训练营第四周作业

文智

极客大学架构师训练营

架构师训练营 - 第 3 周课后作业

树森

一个开始

Nydia

OpenFaas 获得 VMworld 2020 年度最佳 Startup Spotlight 大奖

donghui

Serverless OpenFaas

低代码开发平台,来自“未来”的软件开发方案

Marilyn

敏捷开发

架构师训练营第四周学习总结

文智

极客大学架构师训练营

架构师训练营 - 第 4 周课后作业(1 期)

阿甘

【架构师训练营】第三周作业:代码重构

MindController

ARTS打卡 第19周

引花眠

微服务 ARTS 打卡计划 springboot

【架构师训练营第 1 期 04 周】 作业

Bear

极客大学架构师训练营

钱被扣走了,但是订单却未成功!支付掉单异常最全解决方案

楼下小黑哥

支付宝 微信支付 支付系统 支付

Kubeless 快速入门 | 玩转 Kubeless

donghui

Serverless kubeless

XJR企业级软件快速开发平台规范

Marilyn

程序员 敏捷开发 软件设计

第四周 总结

Pyr0man1ac

java安全编码指南之:输入注入injection

程序那些事

Java java安全编码 java安全 java安全编码指南

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