UIViewcontroller 在横向模式下保持纵向坐标
Posted
技术标签:
【中文标题】UIViewcontroller 在横向模式下保持纵向坐标【英文标题】:UIViewcontroller keeps portrait coordinates when in landscape mode 【发布时间】:2013-12-09 23:11:58 【问题描述】:我有一个旨在以横向模式启动的应用程序,这一切都很好。我添加一个图像视图来覆盖屏幕,然后在中途添加一个滚动视图。再次一切正常。
然后我再次添加一系列 uiimageviews 一切都很好。我注意到如果我尝试单击最右侧的图像没有响应,但此之前的其他图像工作正常。经过大量挖掘,我发现视图控制器保持纵向坐标。当我单击转到另一个视图然后返回主视图时,底部有一个标签栏,最右边的 uiimageview 不起作用。有没有人见过这个?我猜视图在返回时会重新绘制自己?
【问题讨论】:
【参考方案1】:您应该使用 .bounds 属性而不是视图的 .frame 属性。 边界遵循 UIVIew 的坐标系。 这个答案很好地解释了:https://***.com/a/8181113/402223
【讨论】:
【参考方案2】:看到这篇回答了我的问题的文章here
- (void)viewDidLayoutSubviews
// fix for ios7 bug in UITabBarController
self.selectedViewController.view.superview.frame = self.view.bounds;
注意不要将它添加到 viewdidload 方法中。
感谢 Martijn,您让我走上了正轨。
【讨论】:
以上是关于UIViewcontroller 在横向模式下保持纵向坐标的主要内容,如果未能解决你的问题,请参考以下文章
setRefreshed:在横向模式下发送到 UIViewController 的无法识别的选择器
即使用户在横向模式下旋转他们的设备,是不是在 Gluon API 中保持我们的应用程序处于纵向模式?
UIPagviewController 子视图在横向模式下消失