UIButtons无法在某些设备上运行

时间:2014-10-28 17:06:23

标签: ios objective-c iphone uibutton

我使用Xcode 6中的wAny hAny布局设置了视图和约束:

enter image description here

当我在iPhone 5s和iPhone 6上运行应用程序时,UI元素都可见,但在5s,answerback按钮不起作用 - 它们什么都不做。

在iPhone 6上,所有按钮均可用。

这是“后退”按钮的代码:

- (IBAction)backFromDivision:(id)sender {
[self dismissViewControllerAnimated:YES completion:nil];
}

answer代码有点长,除非必要,否则我不会发布。

这是否与约束有关,还是我应该在其他地方寻找答案?

3 个答案:

答案 0 :(得分:3)

那么,

我点击了"解决自动布局问题" - "重置为建议的约束" (左起第三位):

enter image description here

那"解决了#34;我的问题。一切都在所有设备上运行。它似乎已经消除了我实施的一些限制。

我将不得不详细了解其原因。

答案 1 :(得分:1)

之前我有过类似的问题。正是问题的限制因素以及按钮不在视图范围内的事实。

答案 2 :(得分:1)

我遇到过这个问题,问题是由于按钮有:

buttonView.frame.height = 0。(也可以宽度发生)

问题是,即使没有高度,按钮文字也会出现在屏幕上,所以如果你没有背景按钮,视觉外观不会改变

要解决此问题,我使用了不同视图的内容压缩阻力优先级(CCRP)的视图来选择哪个视图应在较小的屏幕上调整大小。

视图的默认CCRP为750,默认约束优先级为1000。  因此,为了匹配您的约束,ios可能会调整视图的高度