写点什么

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

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

关注

评论

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

#集赞送好礼#百度大脑AI开放平台的2020年

百度大脑

区块链农产品溯源平台,农产品区块链防伪

13530558032

智慧党建管理系统,智慧组工平台开发方案

13530558032

第四章作业(二)

LouisN

极限编程技术实践

Teobler

敏捷 敏捷开发 TDD 重构 极限编程

Git学习游戏化,从Learn Git Branching 开始

程序老王

git 学习 学习方法 git 学习

技术解析 | Doris Compaction机制解析

百度开发者中心

百度 apache doris

算力挖矿系统开发|算力挖矿软件APP开发

系统开发

四面美团开发岗,成功斩获offer,分享个人面经

Java架构之路

Java 程序员 架构 面试 编程语言

887页Java面试“成神”手册,已助朋友狂砍9个一二线大厂Offer

Java架构追梦

Java 阿里巴巴 架构 面试 金三银四

2021备战金三银四血拼一波算法:字节+百度+美团+网易+拼夕夕+腾讯+滴滴

比伯

Java 编程 程序员 架构 面试

浅谈基于ARP协议的网络攻击

行者AI

网络安全

程序员之禅(一)

每天读本书

读书笔记

技术案例 | 云原生微服务落地难?百度自用CRM这样做

百度开发者中心

微服务 CRM #百度智能云#

OS命令--shell中数组的操作

cloudcoder

数组 Shell 循环引用

接口测试--apipost中cookie管理器的使用

测试人生路

接口 Cookie

QA视角看数据匿名化

BY林子

数据安全 测试右移 用户数据 数据脱敏

使用 pyVmomi 采集 vSphere 监控指标

冯骐

Python 运维 监控 Open-Falcon vpshere

【LeetCode】区域和检索 - 数组不可变Java题解

Albert

算法 LeetCode 28天写作

Vim,人类史上最好用的文本编辑器

沉默王二

vim 开发工具 vim教程

2021最新京东、字节跳动「3面面经」盘点大厂后端面试高频题

Java架构之路

Java 程序员 架构 面试 编程语言

LeetCode题解:123. 买卖股票的最佳时机 III,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

从0到1建立数据分析指标体系底层逻辑

小飞象@木木自由

数据分析 数据指标 数据分析体系

Pgbouncer最佳实践:系列一

PostgreSQLChina

数据库 postgresql 软件 开源社区

程序员成长第十七篇:项目转测

石云升

项目管理 程序员 28天写作 3月日更

山东青岛推进平安小区建设!源中瑞智慧社区平台解决方案

源中瑞-龙先生

解决方案 山东 源中瑞 青岛 智慧社区

国产芯片WiFi物联网智能插座—电耗采集功能设计

不脱发的程序猿

28天写作 国产芯片 电耗检测 电压电流 华大MCU

Serverless 如何在阿里巴巴实现规模化落地?

阿里巴巴云原生

阿里巴巴 Serverless 容器 微服务 云原生

从0到1建立软件测试质量体系

程序员阿沐

软件测试 测试工程师 质量保证

EEPROM CAT24CXX实现分页读、写数据

不脱发的程序猿

28天写作 CAT24C08 EEPROM 嵌入式软件 单片机

Kubernetes 稳定性保障手册 -- 极简版

阿里巴巴云原生

云计算 容器 开发者 云原生 k8s

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