iOS开发高手课
戴铭
前滴滴出行技术专家
立即订阅
11447 人已学习
课程目录
已完结 46 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 锚定一个点,然后在这个点上深耕
免费
基础篇 (20讲)
01 | 建立你自己的iOS开发知识体系
02 | App 启动速度怎么做优化与监控?
03 | Auto Layout 是怎么进行自动布局的,性能如何?
04 | 项目大了人员多了,架构怎么设计更合理?
05 | 链接器:符号是怎么绑定到地址上的?
06 | App 如何通过注入动态库的方式实现极速编译调试?
07 | Clang、Infer 和 OCLint ,我们应该使用谁来做静态分析?
08 | 如何利用 Clang 为 App 提质?
09 | 无侵入的埋点方案如何实现?
10 | 包大小:如何从资源和代码层面实现全方位瘦身?
11 | 热点问题答疑(一):基础模块问题答疑
12 | iOS 崩溃千奇百怪,如何全面监控?
13 | 如何利用 RunLoop 原理去监控卡顿?
14 | 临近 OOM,如何获取详细内存分配信息,分析内存问题?
15 | 日志监控:怎样获取 App 中的全量日志?
16 | 性能监控:衡量 App 质量的那把尺
17 | 远超你想象的多线程的那些坑
18 | 怎么减少 App 电量消耗?
19 | 热点问题答疑(二):基础模块问题答疑
20 | iOS开发的最佳学习路径是什么?
应用开发篇 (12讲)
21 | 除了 Cocoa,iOS还可以用哪些 GUI 框架开发?
22 | 细说 iOS 响应式框架变迁,哪些思想可以为我所用?
23 | 如何构造酷炫的物理效果和过场动画效果?
24 | A/B 测试:验证决策效果的利器
25 | 怎样构建底层的发布和订阅事件总线?
26 | 如何提高 JSON 解析的性能?
27 | 如何用 Flexbox 思路开发?跟自动布局比,Flexbox 好在哪?
28 | 怎么应对各种富文本表现需求?
29 | 如何在 iOS 中进行面向测试驱动开发和面向行为驱动开发?
30 | 如何制定一套适合自己团队的 iOS 编码规范?
31 | iOS 开发学习资料和书单推荐
32 | 热点问题答疑(三)
原理篇 (6讲)
33 | iOS 系统内核 XNU:App 如何加载?
34 | iOS 黑魔法 Runtime Method Swizzling 背后的原理
35 | libffi:动态调用和定义 C 函数
36 | iOS 是怎么管理内存的?
37 | 如何编写 Clang 插件?
38 | 热点问题答疑(四)
原生与前端共舞 (5讲)
39 | 打通前端与原生的桥梁:JavaScriptCore 能干哪些事情?
40 | React Native、Flutter 等,这些跨端方案怎么选?
41 | 原生布局转到前端布局,开发思路有哪些转变?
42 | iOS原生、大前端和Flutter分别是怎么渲染的?
43 | 剖析使 App 具有动态化和热更新能力的方案
用户故事 (1讲)
用户故事 | 我是如何学习这个专栏的?
结束语 (1讲)
结束语 | 慢几步,深几度
iOS开发高手课
登录|注册

27 | 如何用 Flexbox 思路开发?跟自动布局比,Flexbox 好在哪?

戴铭 2019-05-11
你好,我是戴铭。今天,我要和你跟你聊聊 Flexbox。
你很有可能不知道 Flexbox 是啥,但一定不会对 React Native、Weex 和 Texture(AsyncDisplayKit) 感到陌生,而 Flexbox 就是这些知名布局库采用的布局思路。不可小觑的是,苹果公司官方的 UIStackView,也是采用 Flexbox 思路来实现布局的。
接下来,我们就一起来看看 Flexbox 布局思路有什么优势,以及如何用它来实现布局。

Flexbox 好在哪?

目前来看,iOS 系统提供的布局方式有两种:
一种是 Frame 这种原始方式,也就是通过设置横纵坐标和宽高来确定布局。
另一种是自动布局(Auto Layout),相比较于 Frame 需要指出每个视图的精确位置,自动布局对于视图位置的描述更加简洁和易读,只需要确定两个视图之间的关系就能够确定布局。
通过 MasonrySnapKit这些第三方库,自动布局的易用性也有了很大提升。而且 iOS 12 以后,苹果公司也已经解决了自动布局在性能方面的问题(这里,你可以再回顾下前面第 4 篇文章《Auto Layout 是怎么进行自动布局的,性能如何?》中的相关内容)。
那么在这种情况下,我们为什么还要关注其他布局思路呢?关于原因,我觉得主要包括以下两个方面。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《iOS开发高手课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(8)

  • Z
    react native 里面的布局确实比较好用,比原生节省了开发效率
    2019-05-14
    1
    4
  • Jeffrey
    肯定frame效率高
    2019-05-11
    4
  • K
    以下是个人理解,如有问题请指正,谢谢。
    yoga是对frame的封装,内部实现了Flexbox算法(理念),texture是对yoga的封装,增加了异步渲染等。 性能上,由于frame是线性的,所以yoga和texture也应该是线性的,或者更优。而autolayout属于指数级的,这可能跟两者算法有关。所以,在使用上,在简单的布局页面或者性能要求不高的页面可以直接使用autolayout。相反,性能要求高的页面,可以选择frame, texture, yoga.
    2019-05-18
    3
    2
  • Geek_2844bd
    Texture和frame对比,性能如何?
    2019-05-11
    1
  • 无夜之星辰
    UIStackView真的巨好用
    2019-10-30
  • 豆豆斗地主
    老师您好 请问在实际开发中 是否以删除 storyboard的方式进行开发?

    作者回复: 可以的

    2019-05-13
  • Geek_8e8cbf
    那现阶段想在iOS中使用Flexbox布局,是用Yoga,还是Texture呢?
    2019-05-11
  • Ant
    今天终于知道啥是flexbox了
    2019-05-11
收起评论
8
返回
顶部