2012-05-21 80 views
4

我正在使用iPad的monotouch創建主細節應用程序。我在主視圖中添加了一個自定義的UIViewController。這個UIViewController在頂部有一個工具欄和2個UITableView。我只能看到第一個UITableView。我不能看到底部的工具欄和其他UItableView。工具欄在自定義UIViewController中不可見

我不確定是否需要打開任何設置或配置任何設置以啓用可見性。

我爲每個表格視圖和工具欄創建了出口。

如果有人能在這方面解決一些問題,我將不勝感激。

請參閱圖片。

enter image description here

感謝

巴蘭Sinniah

UPDATE:我的AppDelegate代碼如下

[Register ("AppDelegate")] 
public partial class AppDelegate : UIApplicationDelegate 
{ 
    // class-level declarations 
    UIWindow window; 
    UISplitViewController splitViewController; 


    public override bool FinishedLaunching (UIApplication app, NSDictionary options) 
    { 
     // create a new window instance based on the screen size 
     window = new UIWindow (UIScreen.MainScreen.Bounds); 

     var controller = new RootViewController(); 

     var navigationController = new UITabbedViewController(); 
     var detailViewController = new UIDetailViewTabbedBarController(); 
     splitViewController = new UISplitViewController(); 
     splitViewController.WeakDelegate = detailViewController; 
     splitViewController.ViewControllers = new UIViewController[] { 
      navigationController, 
      detailViewController 
     }; 

     window.RootViewController = splitViewController; 
     navigationController.DetailViewController = detailViewController; 
     // make the window visible 
     window.MakeKeyAndVisible(); 

     return true; 
    } 
} 

我的導航控制器是UITabbedView控制器有2的UIViewController。我在其中一個UIViewController中添加了工具欄和2個表視圖。

回答

3

我通過調整界面中的autosizing部分生成器,標記左側,右側和上方的紅線,並取消標記b ottom紅線,那麼一切看起來都很好。

我做了同樣的UITableView,我在上面標出了紅線。

1

對於工具欄,嘗試一次實現這個對你的UIViewController (它可以是圓形的其他方式(這樣假第一和真正的第二)

public override void ViewWillAppear (bool animated) { 
     base.ViewWillAppear (animated); 
     this.NavigationController.SetNavigationBarHidden (true, animated); 
    } 

    public override void ViewWillDisappear (bool animated) { 
     base.ViewWillAppear (animated); 
     this.NavigationController.SetNavigationBarHidden (false, animated); 
    } 

對於表格,是在下面列出的兩個tableview? (在viewbuilder中使第一個tableview不那麼高,它將適應運行應用程序時的數據量)

+0

因爲NavigationController爲NULL,所以會崩潰。我更新了我的問題。這可能會告訴你我做的事情不對。謝謝 –

+0

以前從未使用過splitviews,但通常您必須將navigationController設置爲窗口的rootviewcontroller,並將mainview添加到此導航控制器,如 window = new UIWindow(UIScreen.MainScreen.Bounds); navcontroller = new UINavigationController(); navcontroller.PushViewController(新的SplitViewController(),false); window.RootViewController = navcontroller; window.MakeKeyAndVisible(); 返回true; – Kevinc