您好,我想知道是否有办法以编程方式获取宽度。
我正在寻找足够通用的东西来容纳 iphone 3gs、iphone 4、ipad。此外,宽度应根据设备是纵向还是横向(对于 ipad)进行更改。
有人知道该怎么做吗?我已经找了一段时间了...谢谢!
看一眼UIScreen https://developer.apple.com/documentation/uikit/uiscreen?language=objc.
eg.
CGFloat width = [UIScreen mainScreen].bounds.size.width;
如果您不希望包含状态栏(不会影响宽度),请查看 applicationFrame 属性。
UPDATE:事实证明 UIScreen(-bounds 或 -applicationFrame)没有考虑当前界面方向。更正确的方法是询问 UIView 的边界 - 假设此 UIView 已由其视图控制器自动旋转。
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
CGFloat width = CGRectGetWidth(self.view.bounds);
}
如果视图控制器没有自动旋转视图,那么您将需要检查界面方向以确定视图边界的哪一部分代表“宽度”和“高度”。请注意,frame 属性将为您提供 UIWindow 坐标空间中视图的矩形,该空间(默认情况下)不会考虑界面方向。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)