UIButtons在某些设备上无法正常工作

6
我已经在Xcode 6中使用wAny hAny布局设置了一个视图和约束条件:
当我在iPhone 5s和iPhone 6上运行应用程序时,所有UI元素都可见,但是在5s上,answer和back按钮不起作用-它们什么也不做。
在iPhone 6上,所有按钮都可以正常工作。
这是“返回”按钮的代码:
- (IBAction)backFromDivision:(id)sender {
[self dismissViewControllerAnimated:YES completion:nil];
}

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

这与限制有关还是我应该在其他地方寻找答案?


有趣的问题 - 在不工作的5S上,按钮在触摸时是否显示通常的颜色变化?即从视觉角度来看,按钮是否能正常工作? - Woodstock
它们完全不起作用。无论是在视觉上还是在编程上。 - MayNotBe
那么我相信这与约束有关。您可以尝试禁用自动布局吗? - Woodstock
3个回答

3

好的,

我点击了“解决自动布局问题”- “重置为建议的约束条件”(从左边数起第三个):

enter image description here

这样“解决”了我的问题。在所有设备上都可以正常工作。看起来它删除了我设置的一些约束条件。

我需要学习更多关于这为什么有效的知识。


1

我以前遇到过类似的问题。问题在于约束条件以及按钮不在视图范围内。


1
如果它不在视图范围内,那么为什么它在屏幕上可见? - MayNotBe
不是主视图,我指的是子视图。 - Robert J. Clegg
今天遇到了类似的问题。我有一个在XIB文件中设计的视图,它有两个文本字段和一个按钮。我通过启用所有弹簧/支架来更改容器视图的自动调整大小约束。在所有设备上,一切看起来都还好,但是在较小的屏幕上(iPhone 5、5s等),按钮不再响应轻触。我撤销了对容器视图自动调整大小属性的更改,问题得到解决。显然,可点击区域并不总是与可见区域对齐?奇怪。 - Shawn Flahave
@ShawnFlahave,就是这样 - Robert J. Clegg

1
我遇到了这个问题,问题的原因是按钮有:buttonView.frame.height = 0.(宽度也可能出现此问题)
即使没有高度,按钮文本仍会显示在屏幕上,如果没有背景,则按钮的视觉外观不会改变
为解决此问题,我尝试调整不同视图的内容压缩阻力优先级(CCRP),选择在较小屏幕上应该调整大小的视图。
视图的默认CCRP为750,默认约束优先级为1000。因此,为了匹配您的约束,iOS可能会调整您的视图高度。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接