我是iOS开发的新手.我不知道这个问题是否已经被问到了,
我试图在stackoverflow上搜索解决方案,但没有得到任何结果.
我试图在stackoverflow上搜索解决方案,但没有得到任何结果.
题 :
我有一个名为myLabel的UILabel文本:“点击这里继续”
现在问题是我想在用户点击“点击”时执行一个操作.
我知道如何使用UITapGestureRecognizer,但它响应整个UILabel.是否可以检测用户何时点击字符串“点击”?
解决方法
您可以检查触摸的位置,看看它是否单词“点击”.这可能不完全准确,但如果更改标签中的文本,则可能会中断.
您可以做的是首先使用以下方式获取点击的位置:
CGPoint location = [gesture locationInView:gesture.view];
这将在您的视图中获取手势的位置.
一旦你有了这个,你可以有大小的单词“点击”硬编码,或者你可以创建一个相同的标签到您的手势标签获得的大小,如:
UILabel *sizeLabel = //create label with same font. [sizeLabel setText:@"Click"]; float width = [sizeLabel sizeThatFits:CGSizeMake(MAXFLOAT,MAXFLOAT)].width;
您也可以在创建实际标签并将此宽度存储在静态变量中时执行此操作,以便您只需执行一次,而不必创建一个额外的标签(即将真实标签的文本设置为@“单击“,获取宽度,然后将其设置为真实文本).
一旦您有宽度,您和点击的位置,您可以通过比较点击“点击”单词:
if (location.x < width) { //Put your tap code in here. }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。