UIScrollView下的UIButton无法响应触摸

时间:2015-05-21 23:36:26

标签: ios objective-c uiscrollview uibutton constraints

我面临一个非常奇怪的问题。尝试对视图控制器实施约束使我的按钮无效。 我的视图层次结构是

  • 的UIView
  • 的UIScrollView
  • 的UIView
  • 的UIView
  • 的UIButton

还有很多其他观点,但仅仅是为了简单起见。有一件事是有一个UIImageView对象,我根据大小拉伸到视图但不是对象重叠或相似,但可能是相关的。 基本上所有约束都在故事板中。仅对于图像视图我使用手动设置。

self.imageViewHeight.constant=imgHeight;

当我禁用自动布局时,按钮工作正常。

编辑:最新观察:刚刚发现模拟器iPhone 6+在约束下工作正常。同样的情况发生在类似的视图中,这个视图更小,因此所有的iPhone只能工作4S。 所以这绝对是与屏幕尺寸和约束操纵有关的问题。 看起来所有对象都在创建后自动进行屏幕查看,因此您必须滚动它才能看到它们处于非活动状态。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

似乎您需要增加容器视图的框架宽度或高度(无论您需要什么)。 scrollView的contentSize仅影响其滚动方式,这与此处无关。

如果该按钮在容器视图之外,则仍会显示。但是,它无法响应任何触摸事件。

我们需要在哪里进行触摸响应

所有您需要做的就是为滚动视图的容器视图设置一堆约束。从添加前导,尾随,底部,顶部,宽度相等和高度相等开始。现在以我为例,我需要固定的Scrollview的contentSize,因此我将等宽约束的优先级更改为750。对于动态contentSize,需要以编程方式设置优先级。

enter image description here

如果有任何疑问,请在下面评论。

谢谢