你需要知道的细节开发细节一

2017-12-12  本文已影响32人  冷了年度

iOS initWithFrame、initWithCoder、awakeFromNib的区别解析

UIView的setNeedsLayout,layoutIfNeeded等方法介绍

当你重新设置了layout属性,需要调用layoutIfNeeded方法 setNeedLayout和layoutIfNeed,还有一个关联的方法是layoutSubviews,在我们没有任何干预的情况下,一个view的fram或bounds发生变化时,系统会设置一个flag给这个view,当下一个渲染时机到来时系统会重新按新的布局来渲染视图。setNeedLayout就是我们主动为这个视图设置一个flag,告诉系统这个视图再下一个时机到来时要重新渲染,而layoutIfNeed则是告诉系统,如果设置了flag那么不用等待时机到来了,直接渲染吧。而layoutSubviews这个方法是系统调用的,我们不需要主动调用,我们只需要调用layoutIfNeed就可以了,让系统判断是否在当前时机下立即渲染。

第三方控件

网易首页
https://github.com/jasnig/ZJScrollPageView 右侧带有+ 可选择栏目的分栏
https://github.com/wangmchn/WMPageController 带有微博、简书的分栏上去静止的功能。
在按钮上方显示个数:PPBadgeView https://github.com/jkpang/PPBadgeView

87C9BEDF-582C-4B60-AE17-2031A233B80E.png
上一篇 下一篇

猜你喜欢

热点阅读