ios - 选项卡更改时 View 会更改大小

标签 ios swift view uitabbarcontroller

我有一个有 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/

相关文章:

ios - UITableViewCell 被重用并在 UIView 中显示错误的绘图

ios - UITableViewCell 具有多行输入字段?

oracle - 找不到 'missing right parenthesis' 错误的原因

Android:如何处理长文本

ios - iPhone 和 iPad Storyboard需要多个 View Controller 吗?

ios - UIImagepicker 上传到错误的 Firebase 存储

swift - 如何将 Firestore 文档映射到结构?

css - Bootstrap 无法正常工作

ios - 具有多种颜色的 UIProgressView 上的 UILabel

ios - 让 UIButton 粘在 UITableView 的底部