这儿每天共享一个 iOS 的新知识,快来重视我吧
前言
我们对 UIViewController
现已十分十分熟悉了,它有一系列的生命周期办法,比方 loadView
、viewDidLoad
、viewWillAppear
、viewDidAppear
等等。
可是 Apple 在本年新版本的 Xcode 15 中添加了新的 UIViewController
生命周期回调 viewIsAppearing
,并且 iOS 13 以上就能够用了,因此猜想在 iOS 13 的时候就现已有这个办法了,只不过之前一直是内部私有的,被苹果躲藏了 5 年,到了本年的 iOS 17 才公开出来。
viewIsAppearing
viewIsAppearing
办法在 viewWillAppear
和 viewDidAppear
之间调用。
首要差异在于,它是在 view
添加到层次结构中,但还未显示在屏幕上时调用的。这个办法调用的时候视图控制器的视图现已布局好了,因此你能够在这个办法下拿到正确的 view
特点。
overridefuncviewIsAppearing(_animated:Bool){
super.viewIsAppearing(animated)
}
有什么用
1、布局子视图
因为在这个办法调用时,控制器的 view
现已设置好了 frame
,所以能够做一些子视图布局的作业。
可是要注意,这个办法在整个控制器生命周期内可能会调用多次,比方 push
到下一个控制器再回来。
2、改写 UI
假如每次视图出现时需要改写 UI,运用这个办法是最好的。比方你的页面需要记住当前的翻滚方位,则能够在这个办法下设置页面翻滚,以便于在用户看到 UI 之前设置完结。
3、traitCollection
在这个办法调用时,控制器的 traitCollection
也现已准备好了,能够在这时放心运用,比方获取布局方向、日夜间模式、渲染份额等等。
这儿每天共享一个 iOS 的新知识,快来重视我吧
本文同步自微信公众号 “iOS新知”,每天按时共享一个新知识,这儿仅仅同步,想要及时学到就来重视我吧!