- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我设置了三个按钮。每个按钮都标记为 1...3。
我的 UITapGestureRecognizer 只对第一个 UIButton 起作用一次。无法选择其他两个选项。代码:
- (void)viewDidLoad
{
[super viewDidLoad];
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(buttonTapped:)];
recognizer.delegate = self;
recognizer.cancelsTouchesInView = NO;
[recognizer setNumberOfTapsRequired:1];
[_btnNegative addGestureRecognizer:recognizer];
[_btnNeutral addGestureRecognizer:recognizer];
[_btnPositive addGestureRecognizer:recognizer];
}
buttonTapped:
方法:
-(void)buttonTapped:(UITapGestureRecognizer *)recognizer
{
switch (((UIGestureRecognizer *)recognizer).view.tag)
{
case 1:
{
NSLog(@"Positive");
[_btnPositive setBackgroundImage:[UIImage imageNamed:@"checkedBox"] forState:UIControlStateNormal];
[_btnNegative setBackgroundImage:[UIImage imageNamed:@"UncheckedBox"] forState:UIControlStateNormal];
[_btnNeutral setBackgroundImage:[UIImage imageNamed:@"UncheckedBox"] forState:UIControlStateNormal];
_opinion=@"Positive";
break;
}
case 2:
{
NSLog(@"Negative");
[_btnNegative setBackgroundImage:[UIImage imageNamed:@"checkedBox"] forState:UIControlStateNormal];
[_btnPositive setBackgroundImage:[UIImage imageNamed:@"UncheckedBox"] forState:UIControlStateNormal];
[_btnNeutral setBackgroundImage:[UIImage imageNamed:@"UncheckedBox"] forState:UIControlStateNormal];
_opinion=@"Negative";
break;
}
case 3:
{
NSLog(@"Neutral");
[_btnNeutral setBackgroundImage:[UIImage imageNamed:@"checkedBox"] forState:UIControlStateNormal];
[_btnNegative setBackgroundImage:[UIImage imageNamed:@"UncheckedBox"] forState:UIControlStateNormal];
[_btnPositive setBackgroundImage:[UIImage imageNamed:@"UncheckedBox"] forState:UIControlStateNormal];
_opinion=@"Neutral";
break;
}
}
}
只有 case:1
有效。其他情况永远不会被调用。我重新检查了按钮标签,没问题 1...3。非常感谢您的帮助。
最佳答案
不,您不能重复使用相同的手势识别器。手势识别器被设计为附加到一个且仅一个 View 。
关于iOS7 : UITapGestureRecognizer reuse issue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24245814/
有没有办法检测用户所做的旋转是顺时针还是逆时针方向??? 我搜索过但找不到答案! 我的代码如下所示: UIGestureRecognizer *recognizer; recognizer = [
我正在使用 UITapGestureRecognizer 进行双击。当我双击 UIButton 时,它可以工作。但我想避免它吗?有内置方法吗? 最佳答案 您可以通过设置以下 bool 值来阻止 UIT
我有以下代码: - (void)viewDidLoad { UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] init
我有一个主视图 Controller ,它被称为WelcomeViewController。我有一个 UIView 子类,其中有一些与 View 相关的内容。我想向该子类添加一个 UITapGestu
UITapGestureRecognizer 不适合我,我想知道是否有人可以提供帮助。 这是我的 View 定义: @interface MainDisplayView : UIView 在实现中,
这太奇怪了,我创建了一个新项目来测试我是否要疯了。 您可以在这里查看项目 https://github.com/ojfoggin/TapTest 我创建了一个带有 UITabBarController
是否可以为触地事件设置 UITapGestureRecogniser?默认是修饰... 最佳答案 不,这是不可能的,但继承 UIGestureRecognizer 应该不难创建您自己的识别器。 您也可
我想设置一个 UITapGestureRecognizer 以允许用户添加图像作为配置文件。我设置了代码,但是当我触摸图像时,什么也没有发生。代码如下: @IBAction func selezion
现在我有一个功能,如果点击底部文本字段,则整个屏幕向上移动,否则如果点击顶部文本字段,则我不会移动屏幕: func keyboardWillShow(notification: NSNotificat
我正在尝试创建一个利用 UITapGestureRecignizer 来执行转场的按钮。由于某种原因,当我尝试从导航面板按住 Control 键拖动到助理编辑器时,它无法连接。我正在使用以下代码: o
我已经搜索了此问题的解决方案,但找不到任何似乎可以解决我的情况的内容。我从 UITapGestureRecognizer 收到上述异常。 这是简化的代码: import UIKit; class Vi
我正在尝试向 View 添加 2 个 UITapGestureRecognizers,一个用于单击事件,一个用于双击事件。单击识别器按预期工作(自行)。但我似乎无法让双击识别器工作。 已尝试尝试以下属
我的 UITapGestureRecognizer 有问题。我使用这段代码: let gesture = UITapGestureRecognizer(target: self, action: #s
为了做好准备,我有一个 4x5 的 UIImageView 网格,我想在点击时翻转并显示新图像。我想用一个@IBaction 来完成这个任务。我只是在识别点击时引用选定的 UIIMageView 时遇
我的 UIViewController 上有一个 UITapGestureRecognizer。 UIViewController 有一个 UIScrollView,它有一个 UIWebView。现在
我正在使用 UITapGestureRecognizer 这是我的代码: Home.m: - (void)viewDidLoad { [super viewDidLoad]; UITa
我在最低 View (self.view) 上使用 UITapGestureRecognizer 来隐藏我的键盘。 UITapGestureRecognizer *tapHandler = [[UIT
我正在尝试在我的 iOS 应用程序上实现一种“帮助模式”。当用户点击帮助按钮时,UITapGestureRecognizer 会拦截对屏幕的触摸,如果它在控件上,则会出现一个带有帮助信息的小弹出窗口。
我有一个红色的 SCNNode,它以 1/2 的方式悬停在蓝色 SCNNode 上。我需要它们两个的dragEvent,这样当它们被滑动时它们就会移动(效果很好)。问题是我只需要蓝色节点的 tapEv
我的任务是将音频播放器添加到现有的 iPad/iPhone 应用程序中。在过去的两天里,我一直在努力弄清楚为什么我不能让一个简单的点击手势工作。我已经搜索了互联网无济于事。我知道有几个这样的问题已经存
我是一名优秀的程序员,十分优秀!