UIViewController中有个属性title,还有一个navigationItem。但是在naivgationItem中也有个title属性,每次当你设置了UIViewController中的title的时候,navigationItem中的title也跟着变化,它俩是有关系的。因为iOS是闭源的所以我们也看不了源码是怎么实现的,但是经过试验基本可以猜测:官方重写了UIViewController中的setTitle方法,在这个方法中同时将UIViewController中的_title和navigationItem中的_title设为相等。仔细想想这样做也好,毕竟普通的UIViewController是不需要title的,只有和UINavigationController结合title才有用武之地,而UINavigationController中的title都是通过navigationItem设置title的,这样就能讲通iOS 官方这样优化的原因了。
UIViewController中的一个坑
最新推荐文章于 2021-09-27 11:06:16 发布