我在XCode中創建了一個新項目,並使用新的Storyboard-feature創建兩個不同的視圖控制器。UIButton在第二個視圖控制器 - Touch Up Inside不起作用(Touch Down)
第一個View Controller連接到主文件(ViewController.h,Viewcontroller.m)。第二個視圖控制器連接到它自己的一套的.h/.m文件(NewUserController.m/.H)
現在的我還沒有能夠找到在最後幾個小時,一個解決方案的問題;
我已經添加了一個按鈕的第二個視圖控制器,並將該按鈕附加到IBAction(verifyNumber)。當我附上'感動內部'事件時,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];
}
UPDATE
由於NJones的反應,我測試了一些並刪除了我在第二個視圖中呈現的gesturerecognizer。刪除此識別器後,UIButton將處理所有事件(觸摸到內部)。
識別器是否會以某種方式阻止任何'tap'事件覆蓋對象(如UIButton)?
1)我已經注釋掉第一IBAction爲測試是否通過發件人的時候就不會有任何區別。目前唯一的功能(刪除其餘)是: - (IBAction)verifyNumber:(id)發送者{ - 這也是連接到按鈕操作(dubbel選中) 2)是的,我添加了一個手勢(IBAction)backgroundTap - > Purpouse:隱藏鍵盤上的視圖 3)UIButton的子類 4)我已經添加了一些日誌記錄功能來記錄輸入值,當然更好 === 不幸的是沒有區別.. – YDL
您的迴應後我測試了一些(刪除視圖的手勢識別器),現在按鈕作爲'廣告'工作(觸摸了裏面的火災的功能N) – YDL