在之前的XCode版本中,我已經設置了一個導航控制器,但我使用最新版本並嘗試使用故事板進行設置。我有Tab Bar Controller,它提供兩種形式。第二種形式有一個UITableview,當用戶使用導航控制器進行選擇時,我想要移動到另一個窗體。我已經闡述了我的關係如何看下面。使用故事板設置導航控制器的問題
這個問題似乎是與我的關係成立。我已經將控件從第二個窗體中單擊到導航控制器,彈出窗口爲我提供了「Push,Modal或Custom」選項。我選擇'推',但是當我嘗試運行下面的代碼ir不起作用。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSUInteger row = [indexPath row];
NSString *tSel = [listContents objectAtIndex:row];
ConstantRateController *detailController = [[ConstantRateController alloc] initWithNibName:@"ConstantRateController_iPhone" bundle:nil];
[self.navigationController pushViewController:detailController animated:YES]
}
我已經運行代碼通過調試器,它運行沒有錯誤,但下一個窗體不顯示。
感謝您的回覆,我按照說明添加了上面的代碼,但是當我運行它prepareForSegue永遠不會被調用。我錯過了什麼? – user616076 2012-04-03 11:24:15
熱門猜測:1)你的'prepareForSegue:sender:'方法在正確的類中嗎?它應該在視圖控制器中啓動segue(你的表視圖控制器)。 2)表視圖控制器實際上是那個類嗎?檢查IB中的Identity inspector,確保它不是通用的'UITableViewController'。 – rickster 2012-04-03 16:00:39
現在工作正常,謝謝你,這是因爲我沒有正確設置Segue標識符。如果我想切換到多個Segue,會發生什麼情況,從我的表格中可以看出,每個選擇都可以轉到其他任何一種形式? – user616076 2012-04-04 10:10:57