我有一个有 5 个 View 的 tabBarController 。问题是,当我更改选项卡时, View 大小会从最初的大小发生变化,这会弄乱我的用户界面。返回选项卡时,还会出现内容偏移。我已经设置了
self.automaticallyAdjustsScrollViewInsets = false
但这也没有帮助。
这是输出
print(self.view.frame)
When App launches for the first time output is (0.0, 0.0, 320.0, 568.0)
When tab is changed and I come back to the home view, the Output is (0.0, 64.0, 320.0, 455.0)
我该如何解决这个问题?
最佳答案
我认为你的问题是:
当您当时运行应用程序时,您的 View 不考虑导航栏高度,因为其原点 y 为 0.0,当您更改选项卡时,它正在检测屏幕上的导航栏,因此 View 正在考虑其上方的导航栏并采用其origin 64.0(即 20.0 状态栏和 44.0 导航栏)。
解决这个问题:
您可以根据需要在顶栏“是/否”下设置 View Controller 属性,或者您可以根据需要在 ViewDidLoad 或 ViewWillAppear 中获取一个 subview 并根据主视图框架设置其框架。
希望这对您有帮助。 :)
关于ios - 选项卡更改时 View 会更改大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37784533/