2013-05-07 106 views
0

所以我有一個UITableView我想推到細節控制器,當該行被選中。推視圖控制器從表視圖中選擇一行

我的嘗試是:

public override void RowSelected (UITableView tableView, NSIndexPath indexPath) 
    { 
     var controller = new BlogDetailViewController(); 
     navController.PushViewController(controller, true); 
     tableView.DeselectRow (indexPath, true); 
    } 

但我得到的抱怨BlogDetailViewController()需要一個參數。

BlogDetailViewController

public partial class BlogDetailViewController : UIViewController 
{ 
    public string blogTitle; 

    public BlogDetailViewController (IntPtr handle) : base (handle) 
    { 
    } 

} 

什麼是Intptr handle和我如何通過它?我嘗試添加一個零參數構造函數並推入,但是當我運行該應用程序時,它會推到黑屏。

+0

你應該能夠創建一個空的構造。使用Interface Builder創建了詳細控制器嗎? – Jason 2013-05-07 21:44:32

+0

@jason雅它通過xcode添加到我的故事板 – Deekor 2013-05-07 21:45:11

回答

3

如果你從一個XIB實例吧,我相信你想使用

UIStoryboard board = UIStoryboard.FromName ("name", null); 
UIViewController ctrl = (UIViewController)board.InstantiateViewController ("name"); 
+0

'故事板在當前上下文中不存在' – Deekor 2013-05-08 00:38:37

+0

對不起,請參閱我的編輯示例 – Jason 2013-05-08 00:48:50

+0

對於'InstantiateViewController'中的'name'是否需要包含.cs或其他內容?我把'BlogDetailViewController'和它告訴我故事板沒有該標識符的視圖。 – Deekor 2013-05-08 00:58:35

0
UIApplication.SharedApplication.KeyWindow.RootViewController = view; 

也加入這一行中最後