写点什么

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

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

关注

评论

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

一文带你看通透,MySQL事务ACID四大特性实现原理

架构精进之路

MySQL 数据库 后端 事务 三周年连更

什么是前端开发领域的 Cumulative Layout Shift 问题

汪子熙

前端开发 angular web开发 web开发基础 三周年连更

Django笔记十四之统计总数、最新纪录和空值判断等功能

Hunter熊

Python django like contains startwith

我的开源项目与开源经历分享

秦少卫

GitHub 开源 前端 Fabric.js 图片编辑器

音视频八股文(3)--ffmpeg常见命令(2)

福大大架构师每日一题

音视频 ffmpeg

ubuntu安装x11 forword,并做好配置

linux大本营

Linux ubuntu

Android WebView使用与JS交互

松柏不怕雪

webview js java; Android; JS Bridge

我的Gopher成长之路

闫同学

三周年连更

Reactive响应式编程系列:解密Lettuce如何实现响应式

大步流星

Reactive lettuce 响应式编程系列 Lettuce如何实现响应式 Redis响应式

为什么要理解OpenAI和GPT-4?LexFridman谈对话Sam Altman开场白

B Impact

面对当下火爆的AIGC,我们可以做些什么? | 社区征文

AXYZdong

三周年征文

Spring 的 IoC(控制反转)

HoneyMoose

Mysql主从复制

乌龟哥哥

三周年连更

dpdk l2fwd需要配置哪些参数

linux大本营

DPDK

深度学习基础入门篇[六(1)]:模型调优:注意力机制[多头注意力、自注意力],正则化【L1、L2,Dropout,Drop Connect】等

汀丶人工智能

人工智能 机器学习 深度学习 正则化 注意力机制

深度学习基础入门篇[七]:常用归一化算法、层次归一化算法、归一化和标准化区别于联系、应用案例场景分析。

汀丶人工智能

人工智能 机器学习 深度学习 归一化算法

2022-04-22:给你两个正整数数组 nums 和 target ,两个数组长度相等。 在一次操作中,你可以选择两个 不同 的下标 i 和 j , 其中 0 <= i, j < nums.leng

福大大架构师每日一题

Go 算法 rust

设计一个大规模搜索引擎,大概有1000台服务器

linux大本营

搜索引擎 负载均衡 存储 分布式,

如何在lua中设置计时器

linux大本营

lua 协程 Coroutine 计时器

时间管理:不要让时间偷走你的饼干

蔡农曰

程序员 生活 时间管理

在OpenHarmony 开发者大会2023,听见百业同鸣

脑极体

鸿蒙

职场进阶必须拥有的4种能力,你掌握了吗?

Jack

linux脚本执行可变参数任务

linux大本营

Linux 脚本

linux脚本定义一个二维数组

linux大本营

Linux 脚本 二维数组

dbtemplate 是什么

weigeonlyyou

mybatis ORM 嵌入式应用 API Gateway 嵌入式设备

挑战 30 天学完 Python:Day12 模块Module

MegaQi

挑战30天学完Python 三周年连更

iOS MachineLearning 系列(3)—— 静态图像分析之区域识别

珲少

让GPT学会使用工具,拓展技能

蔡超

GPT ChatGPT LLM GPT-4 #LangChain

企业微信接入系列-上传临时素材

六月的雨在InfoQ

企业微信 三周年连更 企业微信接入 上传临时素材

Java 把 Map 的值(Value)转换为 Array, List 或 Set

HoneyMoose

测试CLIP zero-shot learning | 深度学习

AIWeker

深度学习 多模态 CLIP 三周年连更

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