我有一个UIScrollView坐在一个popover中。它使用约束固定到弹出窗口的边缘,并且它的完整内容能够在不滚动的情况下显示在弹出窗口中(因此滚动视图不可滚动)。当我点击UITextField(位于此滚动视图内)时,键盘会向上滑动,弹出框会调整大小。当弹出窗口调整大小时,UIScrollView变小,内容现在可以滚动。
所以我的问题是,如何检测滚动视图何时可滚动?
P.S。我想检测这个,以便我可以在可滚动时将delaysContentTouches属性设置为YES,当内容不可滚动时设置为NO。
答案 0 :(得分:1)
您可以检查contentSize是否大于scrollView的界限。
CGSize contentSize = scrollView.contentSize;
CGSize boundsSize = scrollView.bounds.size;
if (contentSize.width > boundsSize.width && contentSize.height > boundsSize.height) {
// scrollable both vertically and horizontally
}
else if (contentSize.width > boundsSize.width) {
// scrollable horizontally
}
else if (contentSize.height > boundsSize.height) {
// scrollable vertically
}
else {
// same size or smaller, not scrollable
}