我们知道tabBar与navigationBar有一个isTranslucent属性, 此属性的主要功能为设置导航栏的半透明效果, 但是该属性可能会导致在实际开发中控件的frame并不是我们想要的位置.
笔者今天在进入一个聊天界面退出来进入另一个页面后, 该页面的控件位置下移了大约一个导航栏的高度, 而如果不进入聊天页面直接进入该页面就不会有这种情况, 经过调试发现控件的frame也没有发生变化. 后来经过尝试把isTranslucent属性设置为false后, 该问题得到完美解决.
如果有开发小伙伴遇到此类问题, 不妨修改一下这个属性, true or false, 也许他能给你一个你想要的结果.
self.navigationController?.navigationBar.isTranslucent=false // or true
注: 该属性在解决滚动视图(UITableview, UICollectionView)的问题时值得大家关注