【发布时间】:2016-02-01 23:31:20
【问题描述】:
在我的移动程序 UI 中,我有一个 SignaturePadView(继承自 UIView 的第 3 方组件),它位于 UIScrollView 中。每当我尝试调试程序时,只要我将手指放入SignaturePadView 并开始签名,它所在的 ScrollView 就会捕获输入并滚动,不允许我创建签名。当用户触摸SignaturePadView 内部时,是否有禁用UIScrollView 的滚动功能。
我没有成功尝试过的两件事:
- 在
SignaturePadView上将ExclusiveTouch设置为true。对于这个,ScrollView 似乎在检查ExclusiveTouch之前正在捕获输入。 - 继承
UIScrollView并覆盖TouchesShouldBegin以关闭滚动。这让我可以检查inContentView参数以查看它是否属于SignaturePadView类型。这样做有两个问题:首先,SignaturePadView中的子视图被返回到inContentView而不是SignaturePadView。其次,TouchesEnd并不总是触发,允许我在用户完成签名后重新打开滚动。
目前,我正在寻求任何可以得到的帮助。我是 Xamarin 和 iOS 开发的新手,最后一件事让我无法完成我的项目。
【问题讨论】:
-
如果你不想让它滚动,你为什么要把它放在一个ScrollView中??
-
当您将手指放在 SignaturePadView 内时,我不希望它滚动。否则,滚动视图中还有其他控件需要访问。
标签: ios xamarin uiscrollview xamarin.ios