2014-04-07 233 views
0

我有一個按鈕在我的視圖控制器,我需要,一旦點擊,發送用戶到下一個視圖控制器,但它不工作。我有ctrl從我的按鈕拖動到我想要的控制器,並將連接作爲與touchUpInside選定的UIButton。我也命名了賽格,但仍然沒有。該按鈕本身甚至沒有識別出已經觸摸,並且不在任何地方發送給我。這裏是從我的主視圖控制器下面的一些代碼:從一個ViewController移動到另一個

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 

    JDTHMainMenu *theMenu = [[JDTHMainMenu alloc] initWithFrame:self.view.bounds]; 
    [self.view addSubview:theMenu]; 

} 

- (IBAction)matchViewControllerButton:(UIButton *)sender 
{ 
    UIButton *matchScreenButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    [matchScreenButton addTarget:self action:@selector(goToMatchView:sender:) forControlEvents:UIControlEventTouchDown]; 
    [matchScreenButton setUserInteractionEnabled:YES]; 
    NSLog(@"Open Match View"); 


} 
- (void)goToMatchView:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"pushToMatchView"]) { 
     JDTHMatchScreen *vc2 = (JDTHMatchScreen *)segue.destinationViewController; 
     vc2.name = self.textField.text; 
    } 
} 

我已經在navcontroller嵌入這個視圖控制器,這是根控制器。我在某處閱讀,也許我需要添加一些東西給我的appdelegate,但沒有明確的。我將會發布更多被認爲很重要的代碼,我仍然處於學習的早期階段,所以我不確定哪些事情是相關的。

回答

5

您不推/呈現視圖控制器,您只是將值分配給v2.name。

必須火SEGUE從你按下按鈕/本第二視圖控制器:

- (void)goToMatchViewController 
{ 
    [self performSegueWithIdentifier:@"YOUR_SEGUE_IDENTIFIER" sender:self]; 
} 

此代碼可能是prepareForSegue:使用到VAR」值分配給第2個VC。檢查文檔以查看更多。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"pushToMatchView"]) { 
     JDTHMatchScreen *vc2 = (JDTHMatchScreen *)segue.destinationViewController; 
     vc2.name = self.textField.text; 
    } 
} 

prepareForSegue, apple's doc

+0

我認爲你是正確的,但對某些原因,我的按鈕不響應,我已經嘗試添加NSLogs檢查,重新連接按鈕,創建另一個,把它到子視圖的前面(由於imageview,以及在所述圖像視圖上的用戶交互),並簡化它以使其點擊併發送NSLog。然而,沒有任何工作,任何提示,找出爲什麼它甚至不認可觸摸? – JonHerbert

+0

檢查你的segue識別字符串,確保它是正確的 – james075

+0

對不起,我沒有看到'setUserInteractionEnabled'順便說一句,在哪裏添加你的按鈕? – james075

相關問題