label_win3=[[UILabel alloc] initWithFrame:CGRectMake(55, 358, 210,15)];
[email protected]"Click here";
label_win3.textColor=[UIColor cyanColor];
label_win3.backgroundColor=[UIColor clearColor];
label_win3.font=[UIFont fontWithName:@"Helvetica" size: 14.0];
label_win3.textAlignment=UITextAlignmentCenter;
label_win3.userInteractionEnabled=YES;
[self.view addSubview:label_win3];
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint currentTouch = [touch locationInView:self.view];
if([touch view]==label_win3) {
[[NSNotificationCenter defaultCenter] postNotificationName:@"ShowRegistration" object:nil];}
}
-1
A
回答
2
UILabels应该也不能响应触摸。
TextViews,TextFields和Buttons都响应触摸。
如果您不确定特定UI元素是否可以进行用户交互,请阅读文档。
+0
为什么不呢?我看到它具有.userInteractionEnabled属性。 – lilzz 2011-05-28 00:18:04
1
有userInteractionEnabled
意味着触摸传递给视图。这并不意味着该视图(UILabel
)与他们做了什么。 UILabel是一个非常轻量级的类。如果您想对UILabel触摸做出响应,请将其附加UIGestureRecognizer
,对其进行分类或使用自定义UIButton
。很多时候,UIGestureRecognizer
是最好的解决方案(尽管你应该尽可能使用UIButton
;它包含很多专门的行为,这些行为很难再现)。
无论如何,你没有理由期待你的touchesBegan:withEvent:
会被调用。你没有感动。 UILabel被触动,并且其touchesBegan:withEvent:
被调用。然后,它没有按照设计做这件事。
Jasarien也是正确的,你的问题是非常不完整和困惑,但我想我们已经拼凑在一起。
相关问题
- 1. UILabel没有响应触摸事件
- 2. UIContainerView事件后未响应触摸iOS
- 3. 使页面响应触摸
- 4. scrollView与UIImage响应触摸
- 5. UIActionSheet不响应触摸
- 6. 触摸响应事件ios4
- 7. 延迟触摸响应
- 8. TableHeaderView没有响应触摸
- 9. UIScrollView没有响应触摸
- 10. ViewController没有响应触摸
- 11. MPMoviePlayer停止响应触摸
- 12. UIBarButtonItem没有响应触摸
- 13. UIButton不响应触摸
- 14. CCMenuItemImage不响应触摸!
- 15. UILabel有触摸方法吗?
- 16. Android React本机触摸响应程序调试 - 确定触摸响应程序
- 17. 触摸ID导致应用无响应
- 18. Midlet不响应触摸老式触摸屏手机
- 19. 带有UIMenucontroller的UILabel不会退出外部触摸的第一响应者
- 20. 视图和按钮旋转后未响应触摸
- 21. UIButton的加入,以查看未响应触摸
- 22. Android浏览器未正确响应触摸事件
- 23. UIPicker View在操作表上未完全响应触摸
- 24. 触摸屏ft5x06没有响应?
- 25. 按钮没有响应触摸
- 26. 加载触摸响应3D模型
- 27. Twitter Bootstrap菜单没有响应触摸
- 28. Android触摸移动没有响应
- 29. UITableViewCell触摸响应的延迟
- 30. android webview中无响应的触摸
认真吗?你只是在那里转储你的代码而没有任何解释或暗示的问题?你相信我们是精神的吗?您的代码只说明一个事实:标签不接受用户交互。这是设计。标签是标签,而不是按钮,你必须自己处理事件。如果您想要更多地考虑修改您的问题,以表明您至少为您做出了一些努力。 – Jasarien 2011-05-28 00:02:25
为什么不呢?我看到它具有.userInteractionEnabled属性。 – lilzz 2011-05-28 00:17:45
当然,我正在亲自处理这个事件。那是什么touchbegan方法使用。如果触摸等价的label_win3视图然后触发一个动作。 – lilzz 2011-05-28 00:26:07