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

MarCouture 7年前
   <p>新闻</p>    <ol>     <li><a href="/misc/goto?guid=4959747134266178092" rel="nofollow,noindex">苹果正在重新设计 Mac Pro</a> :苹果正在加班加点开发一款 <strong>完全重新思考</strong> 的 Mac Pro,采用模块化设计,可以为高端 CPU 和 GPU 提供空间,而且未来的升级也将更加方便。苹果还在开发自有品牌的专业显示器以配合这款 Mac Pro 发布;与此同时市售款 Mac Pro 获得了小幅性能升级, <a href="/misc/goto?guid=4959747134360917758" rel="nofollow,noindex">购买链接</a> 。</li>     <li><a href="/misc/goto?guid=4959747134434746964" rel="nofollow,noindex">苹果放弃 PowerVR,将转用自己开发的 GPU 技术</a> :苹果对旗下产品所用技术控制之严,在业内可说是人尽皆知,去年传出他们要收购合作伙伴 Imagination Technologies 的消息就是个很好的例证。只是,这笔交易最终并没有结果,而这在一定程度上,可能也影响到了两家公司的关系。目前苹果已向其明确表示自己 一直在另行独立打造 GPU 产品」,未来将「减少对 Imagination Technologies 技术的依赖 。</li>    </ol>    <p>教程</p>    <ol>     <li><a href="/misc/goto?guid=4959747134516793164" rel="nofollow,noindex">自定义 UITextView 关键字高亮与点击检测</a> :处理 UITextView 中的点击事件是比较麻烦的,但本文介绍了一种很简单的方法,妙手偶得,可比较容易地处理 Mention、Hashtag 等场景。</li>     <li><a href="/misc/goto?guid=4959747134591279629" rel="nofollow,noindex">由 FlexBox 算法强力驱动的 Weex 布局引擎</a> :继 <a href="/misc/goto?guid=4959746713851246487" rel="nofollow,noindex">上篇文章</a> 中谈了 Weex 在 iOS 客户端工作的基本流程。这篇文章将会详细的分析 Weex 是如何高性能的布局原生界面的,之后还会与现有的布局方法进行对比,看看 Weex 的布局性能究竟如何。</li>     <li><a href="/misc/goto?guid=4959747134702267625" rel="nofollow,noindex">更可靠和高精度的 iOS 定时器</a> :定时器一般用于延迟一段时间执行特定的代码,必要的话按照指定的频率重复执行。iOS 中延时执行有多种方式,如 NSTimer 、 NSObject 的 (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay; 、 CADisplayLink 等,每种方法创建的定时器,其可靠性与最小精度都有不同。本文调查了这几种定时器的可靠性和最小精度等信息。</li>     <li><a href="/misc/goto?guid=4959747134791339571" rel="nofollow,noindex">如何准确判断 WebView 加载完成</a> :正常情况下我们把处理网页加载完毕的代码放在 - (void)webViewDidFinishLoad:(UIWebView *)webView 里。但 webViewDidFinishLoad 时网页真的加载完了吗?官方文档并没有说明 webViewDidFinishLoad 到底在什么时候被调用,但事实证明在某些情况下 webViewDidFinishLoad 可能不是你想要的时机。本文介绍了更合理的判断加载完成时机的方案。</li>    </ol>    <p>开源项目</p>    <ol>     <li><a href="/misc/goto?guid=4959747134863313036" rel="nofollow,noindex">Magnetic</a> :参考 Apple Music 的 Bubble Picker。</li>     <li><a href="/misc/goto?guid=4959747134947747077" rel="nofollow,noindex">EFQRCode</a> :生成漂亮的二维码组件。</li>     <li><a href="/misc/goto?guid=4959747135025190576" rel="nofollow,noindex">Strongify</a> :改变你在闭包中使用 weak 的写法。</li>     <li><a href="/misc/goto?guid=4959747135108327677" rel="nofollow,noindex">material-motion-swift</a> :为视图添加各种手势操作动画反馈效果组件。</li>     <li><a href="/misc/goto?guid=4959747135180263529" rel="nofollow,noindex">TinyConstraints</a> :对 Auto Layout 的封装,以及其简洁的方式完成常用布局情况。</li>    </ol>    <p> </p>    <p> </p>    <p>来自:http://www.infoq.com/cn/news/2017/04/ios-weekly-mac-pro-repeat-weex</p>    <p> </p>