ios - ScrollView 中的按钮被禁用 - iOS Swift

标签 ios swift scroll uiscrollview

我在 ScrollView 内的 View 内的 View 中有一个按钮:

UIScrollView
-ContentView
--PhoneNumberView
---UIButton

如果 ScrollView 的滚动能力被禁用,按钮将正常点击。但是,如果启用滚动,则该按钮似乎被禁用。

这就是我发送 ScrollView 的内容大小的方式:

var contentRect = CGRectZero;
for view in self.contentView.subviews {
     contentRect = CGRectUnion(contentRect, view.frame)
}
scrollView.contentSize = contentRect.size
scrollView.contentSize.height = scrollView.contentSize.height+20

我还设置了那些属性

scrollView.userInteractionEnabled = true
scrollView.exclusiveTouch = true
scrollView.canCancelContentTouches = true
scrollView.delaysContentTouches = true

我最终尝试创建一个 UIScrollView 的子类,结果是这样的:

class myScrollView: UIScrollView {

    override func touchesShouldCancelInContentView(view: UIView) -> Bool {
        return false
    }
}

但只要有任何滚动,该按钮仍未激活。

我该如何解决?

最佳答案

设置 ContentViewScrollview 的颜色。我认为您设置了错误的 contentsize。并且您的 PhoneNumberView 超出了 contentsize 高度。

编辑

enter image description here

enter image description here

enter image description here

enter image description here

关于ios - ScrollView 中的按钮被禁用 - iOS Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38454982/

相关文章:

twitter-bootstrap - 如何在 Bootstrap 模式上收听滚动事件?

javascript - 缓慢地自动滚动到 div 的底部

json - 如何使用 swift 4 解析另一个字典格式数据中的 json 数据?

asp.net IFrame 滚动条推到顶部。 .

iOS 13.0 - 支持深色模式并支持 iOS 11 和 12 的最佳方法

iPhone 分配和释放

ios - Apple ResearchKit 导致 Missing Info.plist key

ios - 如何创建指向 build.phonegap 应用程序的 HTML 链接?

ios - cellForRowAtIndexPath 在源获取数据之前执行

ios - 如何将 UITextView 的宽度更改为最长文本行的宽度?