BT

iOS 开发周报:苹果正在重新设计 Mac Pro、Weex 布局引擎(Yoga)探究

| 作者 靛青K 发布于 2017年4月12日. 估计阅读时间: 不到一分钟 | 道AI风控、Serverless架构、EB级存储引擎,尽在ArchSummit!

新闻

  1. 苹果正在重新设计 Mac Pro:苹果正在加班加点开发一款完全重新思考的 Mac Pro,采用模块化设计,可以为高端 CPU 和 GPU 提供空间,而且未来的升级也将更加方便。苹果还在开发自有品牌的专业显示器以配合这款 Mac Pro 发布;与此同时市售款 Mac Pro 获得了小幅性能升级,购买链接
  2. 苹果放弃 PowerVR,将转用自己开发的 GPU 技术:苹果对旗下产品所用技术控制之严,在业内可说是人尽皆知,去年传出他们要收购合作伙伴 Imagination Technologies 的消息就是个很好的例证。只是,这笔交易最终并没有结果,而这在一定程度上,可能也影响到了两家公司的关系。目前苹果已向其明确表示自己一直在另行独立打造 GPU 产品」,未来将「减少对 Imagination Technologies 技术的依赖

教程

  1. 自定义 UITextView 关键字高亮与点击检测:处理 UITextView 中的点击事件是比较麻烦的,但本文介绍了一种很简单的方法,妙手偶得,可比较容易地处理 Mention、Hashtag 等场景。
  2. 由 FlexBox 算法强力驱动的 Weex 布局引擎:继上篇文章中谈了 Weex 在 iOS 客户端工作的基本流程。这篇文章将会详细的分析 Weex 是如何高性能的布局原生界面的,之后还会与现有的布局方法进行对比,看看 Weex 的布局性能究竟如何。
  3. 更可靠和高精度的 iOS 定时器:定时器一般用于延迟一段时间执行特定的代码,必要的话按照指定的频率重复执行。iOS 中延时执行有多种方式,如 NSTimerNSObject(void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay;CADisplayLink等,每种方法创建的定时器,其可靠性与最小精度都有不同。本文调查了这几种定时器的可靠性和最小精度等信息。
  4. 如何准确判断 WebView 加载完成:正常情况下我们把处理网页加载完毕的代码放在- (void)webViewDidFinishLoad:(UIWebView *)webView 里。但 webViewDidFinishLoad 时网页真的加载完了吗?官方文档并没有说明 webViewDidFinishLoad 到底在什么时候被调用,但事实证明在某些情况下webViewDidFinishLoad 可能不是你想要的时机。本文介绍了更合理的判断加载完成时机的方案。

开源项目

  1. Magnetic:参考 Apple Music 的 Bubble Picker。
  2. EFQRCode:生成漂亮的二维码组件。
  3. Strongify:改变你在闭包中使用 weak 的写法。
  4. material-motion-swift:为视图添加各种手势操作动画反馈效果组件。
  5. TinyConstraints:对 Auto Layout 的封装,以及其简洁的方式完成常用布局情况。

感谢徐川对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论
BT