在带有XIB的UITabView内的uiNavaigationcontroller内的UITableview

时间:2012-09-13 23:57:28

标签: uitableview uinavigationcontroller xamarin.ios

请原谅完整的monotouch noob。

我有一个主要的Tab控制器,它是应用程序的基础,当我导航到我需要的其中一个选项卡是uinavigationcontroller里面有一个uitableview。

我处理的主要标签。

所选标签的辅助视图,我进入IB并拖动导航控制器, 然后我拖了一个uitableview ontop。所以现在我已经设置了XIB。

如何用单声道声明这些东西来连接它?主控制器是显而易见的,类就在那里,派生自UINvaigationController,它将从XIB加载它。我在哪里声明作为子视图的UITableView?如何将它连接到XIB,因为它与主导航控制器在同一个XIB中?

感谢您提供的任何指示,如果这是一个重复的问题,请道歉。

1 个答案:

答案 0 :(得分:0)

我建议你这样做:

  1. 使用UITableView创建XIB文件,但没有UINavigationController。如果要查看视图的外观,请将视图的“顶栏”属性值从“无”设置为“导航栏”。这只是预览。
  2. 将UINavigationController的实例添加到AppDelegate;
  3. 使用UITableView调用UINavigationController.PushViewController;
  4. 将UINavigationController作为视图控制器添加到您的某个标签页中;
  5. 实施例: 想象一下,friendsView的UI包含UITableView。

    public partial class AppDelegate : UIApplicationDelegate
    {
        // 1, 2
        Friends friendsView;
        UINavigationController friendsNav;
    
        ...
    
        // 3
        public override bool FinishedLaunching (UIApplication app, NSDictionary options)
        {
            friendsView = new Friends ();
            friendsNav = new UINavigationController();
            friendsNav.PushViewController(friendsView, false);
    
            ...
    
            // 4
        MyTabController.ViewControllers = new UIViewController[]{
                journalNav, friendsNav
            };
        }
    }
    

    因此,您将有2个标签journalNav,friendsNav。当您切换到friendsNav时,friendsView使用UITableView和导航栏。