自定义UIButton拦截滚动手势

时间:2019-06-25 17:09:31

标签: uiscrollview uibutton uitextview tvos

我有一个基本上由UITextViewUIButton组成的屏幕,其外观如下: enter image description here

我需要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同级,从而响应滚动手势?

0 个答案:

没有答案