我试图为我的.xib文件中的视图添加使用自动布局功能, 目标是根据正确的屏幕尺寸调整视图。
当我将自动布局添加到视图并设置自由形式并将视图大小更改为568时,视图在iPhone 5模拟器上正确显示但是当尝试按下底部的按钮时,如果我运行相同的应用程序则它们无法正常工作在iPhone 4上,视图看起来正确,按钮正常工作。
我错过了什么?任何人都知道教程或我在哪里可以找到如何转换常规xib而不使用autolayout工作的信息?
答案 0 :(得分:1)
有可能你的按钮没有坐在他们的超级视图之上。您需要将按钮的超级视图限制在超级视图的底部。
不幸的是,如果没有看到任何东西,它很难帮助你。
答案 1 :(得分:0)
我遇到了同样的问题。就我而言:
self.view
\- ...
\_self.wrapper
\_self.button
代码不起作用:
NSDictionary *metrics = @{@"padding":[NSNumber numberWithFloat:kGridPadding]};
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[head]-padding-[wrapper]-|" options:0 metrics:metrics views:views]];
原因是'wrapper'的高度为0,尽管按钮仍然可见。因此可以通过提供足够的宽度和高度来修复它:
NSDictionary *metrics = @{@"padding":[NSNumber numberWithFloat:kGridPadding],
@"screenHeight":[NSNumber numberWithFloat:self.view.bounds.size.height]};
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[head]-padding-[wrapper(screenHeight)]-|" options:0 metrics:metrics views:views]];
- >更好的方法是让包装纸的高度自动增加,但我现在不知道怎么做?
答案 2 :(得分:0)