UIButton触摸内部事件在ios5中不起作用,而在ios6中没问题

UIButton触摸内部事件在ios5中不起作用,而在ios6中没问题,第1张

概述我有一个包含大量UIButton的项目,使用 xcode 4.5和storyboard以及ARC.在ios6中测试后,一切都很顺利.但在ios5中,UIButton触及内部事件不起作用,动作未调用.我尝试使用触摸它,它的工作原理.但是,我有很多UIButton,我不能一一改变.更重要的是,降落事件确实提供了良好的体验. 我在许多视图控制器中使用了下面的代码: 在viewDidLoad中: UITa 我有一个包含大量UIbutton的项目,使用 xcode 4.5和storyboard以及ARC.在ios6中测试后,一切都很顺利.但在ios5中,UIbutton触及内部事件不起作用,动作未调用.我尝试使用触摸它,它的工作原理.但是,我有很多UIbutton,我不能一一改变.更重要的是,降落事件确实提供了良好的体验.

我在许多视图控制器中使用了下面的代码:
在vIEwDIDLoad中:

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self                                                                      action:@selector(dismissKeyboard)];[self.vIEw addGestureRecognizer:tap];-(voID)dismissKeyboard {       [aTextFIEld resignFirstResponder];}

这可能是原因.我稍后会看看.但它适用于ios6.
你知道什么是错的吗?非常感谢!

解决方法 我遇到了同样的问题.
这是因为当您注册的gestureRecognizer捕获事件时,会阻止iOS5中的触摸事件.

有两种解决方案.

一:

1)在视图中添加新视图.它应该与按钮具有相同的级别.按钮的优先级应高于新视图.

2)将’addGestureRecognizer’的调用更改为新视图.

[self.newVIEw addGestureRecognizer:tap];

二:

1)实现以下代码.当点在按钮中时,您应该返回NO.

- (BOol)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{    CGPoint point = [gestureRecognizer locationInVIEw:self.vIEw];    NSLog(@"x = %.0f,y = %.0f",point.x,point.y);    if (CGRectContainsPoint(self.testBtn.layer.frame,point))        return NO;    return YES;}

PS.
你应该导入QuartzCore.h来访问图层的属性.

#import <QuartzCore/QuartzCore.h>
总结

以上是内存溢出为你收集整理的UIButton触摸内部事件在ios5中不起作用,而在ios6中没问题全部内容,希望文章能够帮你解决UIButton触摸内部事件在ios5中不起作用,而在ios6中没问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1102535.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存