【发布时间】:2011-11-19 22:15:58
【问题描述】:
我在 XCode 中创建了一个新项目,并使用新的 Storyboard 功能创建了两个不同的视图控制器。
第一个 View Controller 附加到主文件(ViewController.h、Viewcontroller.m)。第二个视图控制器附加到它自己的一组 .h/.m 文件 (NewUserController.m/.h)
现在解决我在过去几个小时内无法找到解决方案的问题;
我在第二个视图控制器中添加了一个按钮,并将该按钮附加到 IBAction (verifyNumber)。当我附加 'Touched Up Inside' 事件时,IBAction 永远不会被触发。但是,当我附加“Touch Down”时,一切正常..
两个视图控制器都选择了“启用用户交互”,除了按钮之外,第二个视图控制器不包含任何其他元素。另外,我的手动 performSegueWithIdentifier 正在工作(从 view1 切换到 view2)。
谁能发现哪里出了问题?
代码:
ViewController.m
- (void)firstStartup {
// Future use for getting userID
// Switch to loginview
[self performSegueWithIdentifier:@"segueLogin" sender:self];
}
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// Fire firstStartup
[self firstStartup];
}
NewUserController.h
#import <UIKit/UIKit.h>
@interface NewUserController : UIViewController
@property (weak, nonatomic) IBOutlet UITextField *inputNumber;
- (IBAction)backgroundTap;
//- (IBAction)verifyNumber;
- (IBAction)verifyNumber:(id)sender;
@end
NewUserController.m
#import "NewUserController.h"
@implementation NewUserController
@synthesize inputNumber;
// Collect User data & Start Request
- (IBAction)verifyNumber:(id)sender; {
inputNumber.text = @"testing";
}
- (IBAction)backgroundTap {
[inputNumber resignFirstResponder];
}
更新
由于 NJones 的响应,我进行了更多测试,并删除了我在第二个视图中显示的手势识别器。删除此识别器后,UIButton 可与所有事件一起使用(Touched Up Inside)。
识别器是否以某种方式阻止任何“点击”事件覆盖对象(例如 UIButton)?
【问题讨论】:
标签: iphone objective-c ios uiviewcontroller uibutton