Ios 使用图像附件时UITextView不可滚动
我有Ios 使用图像附件时UITextView不可滚动,ios,uitextview,attachment,Ios,Uitextview,Attachment,我有UITextView和attributedString以及图像附件。UITextView不可编辑,但可选择 问题在于图像附件。当我开始滚动UITextView,并开始触摸图像附件时(我的手指)。大多数时候它是不可滚动的。如果我滚动得很快,它就会工作。但如果我用手指按住图像附件,即使时间很短,它也不会滚动。 触摸被识别为图像附件上的选择(在我移开手指后图像将高亮显示) 我试图禁用UITextView的isSelectable属性,但问题消失了。但这不是我想要的。我希望它可以在普通文本上选择 我
UITextView
和attributedString
以及图像附件。UITextView
不可编辑,但可选择
问题在于图像附件。当我开始滚动UITextView
,并开始触摸图像附件时(我的手指)。大多数时候它是不可滚动的。如果我滚动得很快,它就会工作。但如果我用手指按住图像附件,即使时间很短,它也不会滚动。触摸被识别为图像附件上的选择(在我移开手指后图像将高亮显示) 我试图禁用
UITextView
的isSelectable
属性,但问题消失了。但这不是我想要的。我希望它可以在普通文本上选择
我试图禁用UITextView
的所有uilongpressurerecognizer
,但没有成功。问题仍然存在
我可以有一个解决方案,我可以保持选择,并避免图像附件吃掉了滚动的同时?提前谢谢 我完成了
我假设在UITextView
中,选择的实现是通过uilongpressurerecognizer
,滚动的实现是通过uipangesturecognizer
因此,如果我阻止长按手势被识别,直到平移手势失败,长按将不再吞噬滚动 首先,我有
UITextView
子类。在该子类中,在适当的点循环通过uigesturecognizers
到UITextView
。我在方法didMoveToSuperview()
中做了这件事
第二,实现方法gestureRecognizer(\uGestureRecognizer:UIGestureRecognizer,其他gestureRecognizer:UIGestureRecognizer应该需要AI)->Bool
来自UIGestureRecognizerDelegate
协议
extension CustomTextView: UIGestureRecognizerDelegate {
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool {
// all UILongPressGestureRecognizer has to wait UIPanGestureRecognizer to be failed before recognized
if gestureRecognizer.isKind(of: UIPanGestureRecognizer.self) && otherGestureRecognizer.isKind(of: UILongPressGestureRecognizer.self) {
return true
}
return false
}
}
extension CustomTextView: UIGestureRecognizerDelegate {
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool {
// all UILongPressGestureRecognizer has to wait UIPanGestureRecognizer to be failed before recognized
if gestureRecognizer.isKind(of: UIPanGestureRecognizer.self) && otherGestureRecognizer.isKind(of: UILongPressGestureRecognizer.self) {
return true
}
return false
}
}