objective-c – 视图控制器处于横向模式,但是我从纵向模式获取帧
发布时间:2020-12-16 07:27:17 所属栏目:百科 来源:网络整理
导读:我有一个带有表视图的设置视图控制器.表视图应该将其帧设置为视图控制器的帧.我的应用程序仅支持横向模式,因此这是我一直在的方向. 但是,当设置视图控制器加载时,表视图具有视图控制器的纵向模式框架,即使它处于横向状态(360×480时应为480×360). 此外,当我
我有一个带有表视图的设置视图控制器.表视图应该将其帧设置为视图控制器的帧.我的应用程序仅支持横向模式,因此这是我一直在的方向.
但是,当设置视图控制器加载时,表视图具有视图控制器的纵向模式框架,即使它处于横向状态(360×480时应为480×360). 此外,当我检查设备是否认为它处于纵向模式时,它返回true. 是什么导致了这个问题,我该如何解决? 解决方法
当你调用[UIView init]时,它将默认为你的设备在纵向模式下的屏幕尺寸(同样适用于iPad,但尺寸更大).
在[UIViewController viewDidLoad]内部,self.view也将默认为此大小. 屏幕旋转仅对层次结构中的顶视图(控制器)进行,旋转消息通过支持此行为的容器-VC转发(例如UINavigationController,UITabBarController). 如果希望正确调整视图大小,请使用[UIView initWithFrame:self.view.bounds]创建视图. Insinde UIViewController您只有机会覆盖loadView方法以在调用viewDidLoad之前设置帧(或者您可以使用不同的XIB用于格局).您还可以通过在viewDidLoad中首先设置其框架来硬编码视图的大小 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |