我正在尝试向我的应用程序添加一个功能,用户可以在其中选择我预先指定的文本,以便触发一个 segue 并获得有关用户选择内容的解释/信息。
下面的文字是一个例子:
夏威夷是 50 个“美国州”中最近的一个,并于 1959 年 8 月 21 日加入联邦。
用户可以选择“美国各州”,然后将获得有关美国各州的信息。
那么我可以用 Xcode 做到这一点,还是必须使用一些 html 编辑应用程序?如果是这样,哪里是开始学习如何做这样的事情的好地方(在线或书籍)?
谢谢。
最佳答案
可能有更好的方法,但我知道有一种方法可以满足您的要求。
- 用你想要显示的文本创建一个 NSMutableAttributedString
- 确定您希望可点击的字符范围,并使用 setAttributes:rangeSet 添加 NSLinkAttributeName 属性,其值为可用于标识点击区域的字符串。
- 创建一个 UITextView 并将 attributedString 属性设置为上面的字符串
- 将一些对象设置为 UITextView 的委托(delegate)
- 重写 textView:shouldInteractWithURL:inRange: 方法。此处返回 NO,但对 URL 执行您想要的操作,该 URL 从您之前使用的字符串创建。
这是代码部分。我将把 UITextView 的创建留给你。
-(void)viewDidLoad
{
[super viewDidLoad];
NSMutableAttributedString *attString = self.textView.attributedText.mutableCopy;
[attString setAttributes:@{NSLinkAttributeName:@"123"} range:NSMakeRange(0, 10)];
self.textView.attributedText = attString;
self.textView.delegate = self;
}
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange
{
NSLog(@"%@", URL);
return NO;
}
关于ios - 在 UITextView 中选择特定文本以触发 segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25276355/