更改选项卡时查看更改大小

时间:2016-06-13 08:02:39

标签: ios swift view uitabbarcontroller

我有一个包含5个视图的tabBarController。问题是,当我更改选项卡时,视图大小会从最初的更改,并且会弄乱我的UI。返回选项卡时,还会有内容偏移。我已经设定了 self.automaticallyAdjustsScrollViewInsets = false但这也无济于事。 以下是

的输出
print(self.view.frame) 
  

当App首次启动时,输出为(0.0,0.0,320.0,568.0)

     

当更改标签并返回主视图时,输出为(0.0,64.0,320.0,455.0)

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我认为你的问题是:

当你正在运行应用程序时,你的视图不考虑导航栏的高度,因为它的原点y是0.0,当你更改tab时它会检测到屏幕上的导航栏,所以视图正在考虑它上方的导航栏并采取它原点64.0(20.0状态栏和44.0导航栏)。

解决这个问题:

您可以根据需要在顶栏下设置视图控制器属性是/否或者您可以根据主视图框架在ViewDidLoad或ViewWillAppear中根据主视图框架设置一个子视图并设置其框架。

希望这可能会对你有所帮助。 :)