2011-11-19 29 views
1

我在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)?

回答

3

我有幾個想法,

1)爲什麼你:

- (IBAction)backgroundTap; 
    //- (IBAction)verifyNumber; 

    - (IBAction)verifyNumber:(id)sender; 

verifyNumberverifyNumber:(id)sender,他們可以在同一時間同時存在的差異,都可以連接在nib

2)您是否在視圖中使用任何UIGestureRecoginzers?

3)這個按鈕是一個自定義按鈕還是UIButton的子類?

4)(我真的不認爲這會幫助你解決問題,這只是一個好習慣,而且我已經在打字:))使用視圖屬性來檢查一個方法是否被調用並不是最好的。嘗試把一個日誌語句在IBAction方法,像這樣:

- (IBAction)verifyNumber:(id)sender; { 
    NSLog(@"verifyNumber:"); 
    inputNumber.text = @"testing"; 
} 
+0

1)我已經注​​釋掉第一IBAction爲測試是否通過發件人的時候就不會有任何區別。目前唯一的功能(刪除其餘)是: - (IBAction)verifyNumber:(id)發送者{ - 這也是連接到按鈕操作(dubbel選中) 2)是的,我添加了一個手勢(IBAction)backgroundTap - > Purpouse:隱藏鍵盤上的視圖 3)UIButton的子類 4)我已經添加了一些日誌記錄功能來記錄輸入值,當然更好 === 不幸的是沒有區別.. – YDL

+0

您的迴應後我測試了一些(刪除視圖的手勢識別器),現在按鈕作爲'廣告'工作(觸摸了裏面的火災的功能N) – YDL

相關問題