我知道现在可以在字符串中创建自定义属性了(尽管我还没有这样做),也许这些属性对于检测是否有一个神奇的单词被点击是有用的?无论如何,我仍然不知道如何拦截那个窃听,并检测到窃听发生在哪个单词上。
请注意,不需要iOS6兼容性。
我只是想多帮助别人一点。根据Shmidt的回答,可以完全按照我在最初问题中提出的要求来做。
1)创建一个属性化字符串,该字符串具有应用于可点击单词的自定义属性。
NSAttributedString* attributedString = [[NSAttributedString alloc] initWithString:@"a clickable word" attributes:@{ @"myCustomTag" : @(YES) }];
[paragraph appendAttributedString:attributedString];
2)创建UITextView以显示字符串,并向其添加UITapGestureRecognizer。然后处理轻击:
- (void)textTapped:(UITapGestureRecognizer *)recognizer
{
UITextView *textView = (UITextView *)recognizer.view;
// Location of the tap in text-container coordinates
NSLayoutManager *layoutManager = textView.layoutManager;
CGPoint location = [recognizer locationInView:textView];
location.x -= textView.textContainerInset.left;
location.y -= textView.textContainerInset.top;
// Find the character that's been tapped on
NSUInteger characterIndex;
characterIndex = [layoutManager characterIndexForPoint:location
inTextContainer:textView.textContainer
fractionOfDistanceBetweenInsertionPoints:NULL];
if (characterIndex < textView.textStorage.length) {
NSRange range;
id value = [textView.attributedText attribute:@"myCustomTag" atIndex:characterIndex effectiveRange:&range];
// Handle as required...
NSLog(@"%@, %d, %d", value, range.location, range.length);
}
}
本文向大家介绍iOS 设置属性文本,包括了iOS 设置属性文本的使用技巧和注意事项,需要的朋友参考一下 示例
问题内容: 在Python中使用抽象属性实现以下Scala代码的最短/最优雅的方法是什么? Scala编译器强制使用的子类来定义“路径”。子类如下所示: 问题答案: Python有一个内置的异常,尽管直到运行时您都不会遇到该异常。
我有一个带有子组件的组件。 在时间轴组件中,我有这些属性: 如何检查何时从时间轴组件对属性进行更改?每当编辑值发生更改时,我都需要发出该值。 我应该为编辑属性使用一个setter,然后从那里发出吗? 或者有其他方法吗?
如果你是根据题目来回答这个问题的,但对蒙古语不感兴趣,你可能会寻找这个问题 Swift:如何旋转UIButton和UILabel的文本? 我一直在学习Swift,以便为传统蒙古语开发iOS应用程序。问题是传统蒙古语是从上到下、从左到右垂直书写的。我的问题是,如何在垂直显示文本的同时仍进行换行工作? 如果你跟我呆一会儿,我会尽量把问题解释得更清楚。下面是我想要实现的文本视图的图片。如果外文脚本让你不
问题 在解析获得一个Document实例对象,并查找到一些元素之后,你希望取得在这些元素中的数据。 方法 要取得一个属性的值,可以使用Node.attr(String key) 方法 对于一个元素中的文本,可以使用Element.text()方法 对于要取得元素或属性中的HTML内容,可以使用Element.html(), 或Node.outerHtml()方法 示例: String html =
如何在中添加占位符,类似于在中为设置的占位符?