我有一个不使用自动布局的应用。相反,我正在使用autoresizingMask。它在iOS 7中运行良好。当我以纵向模式启动应用程序时,它在iOS 8中也能正常工作(即使我之后旋转设备它仍然很好)。这是正确的屏幕截图:
这是我的源代码:
CGFloat w = [[UIScreen mainScreen]bounds].size.width;
CGFloat h = 100;
CGRect rect1 = CGRectMake(0, 0, w, h);
UIView* view1 = [[UIView alloc] initWithFrame:rect1];
view1.backgroundColor = [UIColor yellowColor];
view1.autoresizingMask = UIViewAutoresizingFlexibleWidth;
[self.view addSubview:view1];
CGRect rect2 = CGRectMake(10, 105, 748, 50);
UIView* view2 = [[UIView alloc]initWithFrame:rect2];
view2.backgroundColor = [UIColor purpleColor];
view2.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;
[self.view addSubview:view2];
以横向模式启动应用程序时出现问题。这是截图:
有人可以告诉我在我的代码中做错了什么吗?感谢
答案 0 :(得分:0)
我稍微修改了一下代码:
CGRect rect2 = CGRectMake((w-748)/2, 105, 748, 50);
这符合我的预期。