我StoryBoard
的配置为 iPhone4 分辨率,在 iPhone 5 上运行时,我希望 UIView 变得更大(高度和宽度)。
现在的问题是,视野只会越来越高,不会越来越宽。为了实现这一点,自动调整大小配置应该是什么?
我StoryBoard
的配置为 iPhone4 分辨率,在 iPhone 5 上运行时,我希望 UIView 变得更大(高度和宽度)。
现在的问题是,视野只会越来越高,不会越来越宽。为了实现这一点,自动调整大小配置应该是什么?
参考屏幕的高度并使用一些填充值来设置您的视图框架。下面是设置 UIView 框架的代码yourShapeView
:
// Get the frame of the screen
CGRect screenFrame = [[UIScreen mainScreen] bounds];
// Set padding from the top and bottom of the shape
CGFloat verticalPadding = 40.0f;
CGFloat horizontalPadding = 20.0f;
// Get the height/width values
CGFloat height = screenFrame.size.height - (verticalPadding * 2);
CGFloat width = screenFrame.size.width - (horizontalPadding * 2);
// Set the size of your shape based on the height and padding
yourShapeView.frame = CGRectMake(horizontalPadding, verticalPadding, width, height);
您可能需要使用重写方法的子类UIView
来setFrame:
捕获帧更改。
- (void)setFrame:(CGRect)frame
{
frame.size.width = frame.size.height; // Make the *width* always equal to the *height*. Logic could go here, etc.
[super setFrame:frame]
}