我有一个文档查看器,它有一个UIView(页面)作为UIScrollView的'scrolledView'(UIView)的子视图。该页面包含更多子视图,例如UIButtons和UITextField。
用户可以手动平移和放大滚动视图,但是对于某些功能,我正在进行编程滚动/平移以将文本字段或按钮带入视图。
在某些情况下,我需要以编程方式调整滚动视图的contentSize和滚动视图的框架(以确保页面底部的文本字段可以移动到键盘上方。)
另外(我认为)我正在通过滚动视图的zoomScale正确缩放contentSize的坐标和滚动视图的框架。
通常一切正常。
这是问题所在:
在极少数情况下,在我通过点击键盘上的“下一步”触发缩小后,页面下方的按钮和文本字段不再对我的触摸作出反应。 (它通常在最低的10%左右。)以上的人应该这样做。
有人可以给我任何提示吗?
我在iOS 7和iOS 8上看过这个,我不知道的旧版本。
答案 0 :(得分:2)
我知道它真的很晚,但它可能会帮助那些有同样问题的人。 我刚刚提出同样的问题,这是唯一与我的问题相匹配的问题。最终我解决了它。
似乎只为框架的指定高度启用了用户交互。所以,我通过增加嵌入在frame
下的scrollview
的高度来解决它。
答案 1 :(得分:1)
似乎有些问题是由于重新调整- (void)scrollViewDidZoom:(UIScrollView *)scrollView
内滚动视图的contentSize和框架引起的,然后其他部分修改了相同的属性,例如在动画的完成块中,这些值可能最终错误
(当用户缩小时我使用了一种技巧来保持内容居中。现在我使用contentInset
属性获得相同的效果)
答案 2 :(得分:0)
如果你的collectionView不在scrollView contentSize中,你应该从界面构建器中拖放约束,当你改变collectionView的位置时,你也应该改变约束常量。这对我有用