在 iOS 中调整 UIView 的大小
Posted
技术标签:
【中文标题】在 iOS 中调整 UIView 的大小【英文标题】:Resize UIView in iOS 【发布时间】:2015-03-28 01:58:16 【问题描述】:我在屏幕上出现部分黑色斑块。它是一个 UIView,这仅在设备处于横向模式时才会发生。在纵向上,它工作得很好。
iPad 2 上的实际截图: (检查黑色补丁)
这是我在 Xcode 中的视图层次结构: (请检查突出显示的 UIView。它是未完全拉伸到设备宽度的 UIView)
作为 ios 开发的新手,我不确定哪里出了问题。这会是因为 self.view 的尺寸错误吗?
这就是我定义self.view
的方式CGRect deviceDimensions = [[UIScreen mainScreen] applicationFrame];
self.view = [[UIView alloc] initWithFrame:deviceDimensions];
我尝试如下显式设置宽度(仅用于调试):
CGRect deviceDimensions = [[UIScreen mainScreen] applicationFrame];
deviceDimensions.size.width = 768;
self.view = [[UIView alloc] initWithFrame:deviceDimensions];
但它仍然显示相同。
设备:iPad 2 - 屏幕尺寸:1024x768 iOS 8.2 Xcode v6.2
谢谢。
【问题讨论】:
【参考方案1】:自动布局。这是一个工具的野兽,但需要几分钟才能掌握基础知识。在 IB 中选择视图,并为您的视图添加高度和宽度约束,如下所示:
如果您更喜欢代码,请查看 autoresizingMask 属性:
-(BOOL)shouldAutorotate
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
if (orientation != UIInterfaceLandscape)
[view.superview setAutoresizesSubviews:YES];
return YES;
【讨论】:
以上是关于在 iOS 中调整 UIView 的大小的主要内容,如果未能解决你的问题,请参考以下文章