相关疑难解决方法(0)

UITextView:禁用选择,允许链接

我有一个UITextView显示一个NSAttributedString.textView editableselectable属性都设置为false.

attributionString包含一个URL,我想允许点击URL来打开浏览器.但只有在selectable属性设置为的 情况下才能与URL进行交互true.

如何仅允许用户交互来点击链接,而不是用于选择文本?

uitextview nsattributedstring ios

34
推荐指数
8
解决办法
1万
查看次数

Xcode 9 UITextView链接不再可点击

在此之前的Xcode 9和iOS 11我有一个UITextViewUITableViewCell包含多个链接.每个链接都按预期工作,但自升级到iOS 11和Xcode 9后,链接不再有效.

UITextView似乎无法识别任何func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool从不触发的触摸交互.

升级后有没有其他人发现同样的问题?

uitextview ios11

9
推荐指数
1
解决办法
1638
查看次数

UITextView startInteractionWithLinkAtPoint仅崩溃iOS 11

因此,当用户与URL链接进行交互时,我会在UItextview中遇到崩溃.所有崩溃报告仅限iOS版本11.这看起来像iOS 9中众所周知的bug,但是没有单个报告iOS版本低于11,而且在报告中我发现了有趣的行:

UITextGestureClusterLinkInteract smallDelayRecognizer:
Run Code Online (Sandbox Code Playgroud)

里面传来与iOS 11(http://developer.limneos.net/?ios=11.0&framework=UIKit.framework&header=UITextGestureClusterLinkInteract.h).无论如何,现在我用它来修复它

@available(iOS 10.0, *)
func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
    UIApplication.shared.openURL(URL)
    return false
}
Run Code Online (Sandbox Code Playgroud)

这不是很酷,因为你丢失了动作表菜单.我的假设是它是由3D触摸引起的(比如以前版本中的长按),但是如果我检测到3D触摸(75%,甚至是最大力的50%)并禁用此特定手势的链接交互 - 问题仍然出现.有没有人对这个特殊问题有一些经验,有更优雅的解决方法?

uitextview uigesturerecognizer ios swift ios11

7
推荐指数
1
解决办法
819
查看次数

UITextView应检测链接,否则应传播触摸以查看下面的链接

我有一个文本视图,我想检测链接,但是当触摸点没有链接时,它应该传播触摸到下面的视图(它当前没有).它将包含在表格视图单元格中,如果用户点击链接,它应该交互(它可以工作),但是当点击另一个点时,它应该选择表格视图单元格.

我需要文本无法选择,所以我遵循/sf/answers/1908549961/并实施:

-(BOOL)canBecomeFirstResponder{
    return NO;
}
Run Code Online (Sandbox Code Playgroud)

它也没有在此之前发送下面的触摸事件,但我已经包括它只是它干扰解决方案的情况.

touch uiview ios

4
推荐指数
2
解决办法
725
查看次数