我有一个textview,其中包含属性 - >可选择:是和可编辑:否。 为了打开用textview编写的URL,我使用了
- (BOOL)textView:(UITextView )textView shouldInteractWithURL:(NSURL )URL inRange:(NSRange)characterRange
委托文本视图的方法,似乎工作正常。
问题是,当用户长按文本视图中的链接时,会弹出一个操作表,这是默认行为。我想控制该行动表。
请提出建议。
尝试过使用ActionSheet委托,但没有用。
答案 0 :(得分:1)
<强> Swift4 强>
只需在false
中返回-shouldInteractWith
,但如果您需要,则必须自行处理互动。
func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange) -> Bool
{
print(String(format: "%@", URL as CVarArg))
let alerSheet = UIAlertController.init(title: nil, message: nil, preferredStyle: .actionSheet)
alerSheet.addAction(UIAlertAction.init(title: "Copy", style: .default, handler: { (action) in
print("copy action")
}))
alerSheet.addAction(UIAlertAction.init(title: "Other", style: .default, handler: { (action) in
print("other action")
}))
alerSheet.addAction(UIAlertAction.init(title: "Cancel", style: .cancel, handler: { (action) in
print("cancel action")
}))
self.present(alerSheet, animated: true, completion: nil)
return false
}