UILabel与UIButtons

时间:2015-02-04 15:31:30

标签: ios objective-c uibutton uilabel uitextview

有没有办法让UILabelsUITextViewsUIButtons合作?

示例1:“此汽车为黄色,有4个轮子。”

汽车UIButton,可以在句子中的任何位置。

3 个答案:

答案 0 :(得分:1)

使用所需范围内的NSAttributedString链接,并将其显示在TTTAttributedLabel中。然后,只要点击链接,您就可以收到回叫。

答案 1 :(得分:0)

您可以为标签指定UITapGestureRecognizer以检测点按:

UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(labelTapped:)];
tapGestureRecognizer.numberOfTapsRequired = 1;
[myLabel addGestureRecognizer:tapGestureRecognizer];
myLabel.userInteractionEnabled = YES;

然后在'labelTapped:'选择器方法中,使用手势对象计算标签框内的点按位置。然后,您必须确定标签中单词的位置,并查看触摸是否在CGRect中。

答案 2 :(得分:0)

我使用UITextView.firstRectForRange方法使用app完成了这项工作。这允许您获取UITextView中的文本坐标。

我在文本中使用了按钮和魔术标记。渲染时,我找到了魔术标记并将UIButtons放在顶部。例如@“这是$ Train $的年龄”会在标记处放置一个标题为@“Train”的按钮。

您还可以使用RectForRange用记录位置的彩色文本替换每个标记。然后使用触摸手势查看是否选择了任何矩形。