我有一个基本上由UITextView
和UIButton
组成的屏幕,其外观如下:
我需要UITextView
保持可滚动状态,而UIButton
应该放在下面,为了实现这一点,我使用了一个非常常见的技巧:
@IBOutlet var textView: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
textView.panGestureRecognizer.allowedTouchTypes = [UITouch.TouchType.indirect.rawValue as NSNumber]
view.addGestureRecognizer(textView.panGestureRecognizer)
textView.directionalPressGestureRecognizer.isEnabled = true
view.addGestureRecognizer(textView.directionalPressGestureRecognizer)
}
如果按钮类型不是custom
,则效果很好。如果我有一个自定义按钮,由于某种原因,滚动手势将停止在UITextView
上起作用,并且似乎停留在UIButton
上。不幸的是,我在应用程序中几乎所有的按钮类都是自定义的,所以它们的类型也是custom
。为什么会发生这种情况,并且有一种方法可以使UITextView
拥有自定义的UIButton
同级,从而响应滚动手势?