2011-03-08 46 views
0

如何從當前視圖移動到另一個視圖?我目前的觀點是viewcontroller,我想移動另一個視圖控制器。這是我的代碼..移動到UITableView行選擇的另一個視圖

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    SecondView *secondView = [[SecondView alloc] initWithNibName:@"second" bundle:[NSBundle mainBundle]]; 
    [self.navigationController pushViewController:secondView animated:YES]; 
} 

我使用xib文件作爲另一個視圖。

+0

什麼是SecondView? (一個視圖控制器,或?) – 2011-03-08 11:51:00

+0

第二個視圖是另一個UIViewController。 – Maulik 2011-03-08 11:53:22

+0

你爲什麼要專門調用initWithNibName:bundle:? (默認情況下,調用init將包含類似於'if(self = [super initWithNibName:nil bundle:nil]){'這會爲你加載nib。「 – 2011-03-08 11:55:02

回答

1

確保有關筆尖文件名,並設置捆綁:無

好確保在Interface Builder爲你的第二個視圖控制器,你可以使用合適的類掛鉤正確。

請清理所有目標,然後構建並運行應用程序。

+0

我試過了,但仍然沒有出現第二個視圖... – Maulik 2011-03-08 11:49:11

+0

ya它的SecondView只有 – Maulik 2011-03-08 12:19:42

1

您可能會混淆視圖和視圖控制器。視圖控制器管理視圖,但它絕對不是視圖,反之亦然。如果你的「SecondView」實際上是一個視圖控制器(即它繼承自UIViewController),那麼你的代碼是正確的。

+0

是的,它繼承自UIViewController,但仍然沒有出現第二個視圖 – Maulik 2011-03-08 11:48:05

+0

有些事情要檢查:self.navigationController nil?nib名稱是否正確?(注意:大小寫很重要 - iOS文件系統區分大小寫。) – Caleb 2011-03-08 11:57:42

0

最簡單的解決方案可能是使用UINavigationController,因爲這樣可以讓您按需要將視圖推送到「堆棧」,並且還會自動處理刪除視圖/添加導航回按鈕等

這就是說,我建議閱讀上面的類參考,因爲您的代碼有一些問題。 (例如,在添加視圖控制器後,您不會執行[secondView release];)。我認爲「secondView」也是視圖控制器,而不僅僅是視圖? (你推控制器到堆棧中,沒有意見。)

0

一些注意事項:

  • 你泄露secondView,自動釋放它
  • 束大概可以是零
  • 有什麼不好的代碼?
+0

沒有錯誤...但第二個視圖不顯示... – Maulik 2011-03-08 11:49:53

相關問題