首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone:如何找到Touch下的控件交互?

iPhone:如何找到Touch下的控件交互?
EN

Stack Overflow用户
提问于 2010-03-29 15:15:42
回答 1查看 311关注 0票数 0

我在视图中有一个UILabel控件。我想检测当这个标签被触摸时发生的触摸事件。我添加了以下代码,当触摸发生在视图上时,这些代码应该可以工作。

代码语言:javascript
复制
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

{

//应该只在触摸标签时调用,而不是一直调用..

[ UIApplication sharedApplication openURL:[NSURL URLWithString:@"http://www.mywebsite.com"] ];

}

每当特定的标签被触摸时,我的代码应该进一步执行这个过程,而不是当触摸发生在视图中的任何地方时。如何在touchesEnded函数下找出特定的标签(或)任何控件被触摸?

有人能在这方面给我指点一下吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-29 15:34:33

您可以通过在标签上执行hitTest来完成此操作:

代码语言:javascript
复制
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    CGPoint point = [[touches anyObject] locationInView:label];
    if([label hitTest:point withEvent:nil]) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.mywebsite.com"]];
    } else {
        [super touchesEnded:touches withEvent:event];
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2536311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档