0

在此处输入图像描述我一直在搜索和试验一段时间,但我就是找不到我做错了什么。

我想制作一个带有菜单的应用程序,从该菜单中,您可以访问TableViewcontroller带有标题栏的应用程序。我发现,为了得到这个标题栏,你需要“插入”UITableViewControllerUINavigationController. 这就是我卡住的地方。

现在不要介意/忘记应用程序中的菜单,因为我知道当用户点击按钮时如何切换视图控制器。

在我的 AppDelegate.m 我有:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    TableViewController *tableView = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
    self.navController = [[UINavigationController alloc] initWithRootViewController:tableView];
    self.window.rootViewController = navController;
    [self.window makeKeyAndVisible];
    return YES;
}

在我的 AppDelegate.h 文件中,我有:

@interface AppDelegate : UIResponder <UIApplicationDelegate>{
    UINavigationController *navcontroller;
}

@property (strong, nonatomic) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navController;

我有 2 个分类器UITableViewController和 NavigationView。

在 中UITableViewController,我制作了一个名为的数组tableRows

tableRows = [[NSArray arrayWithObjects:@"1", @"2", nil] init];

numberOfSectionsInTableView设置为 1 并且设置numberOfRowsInSectionreturn tableRows.count;

我没有改变我的 NavigationView.m,只是我试图在其中设置一个标题。

在我的 中NavigationView.xib,我试图在UITableViewController和之间建立联系UINavigationController

  • 我添加了一个 NSObject,并将其类更改为 AppDelegate
  • 我将 View 替换为 aUIWindow并将 window 属性从 my 连接 AppDelegate.h到它
  • 我添加了一个UINavigationController并将其与navController我的AppDelegate.h.
  • 最后,我将 RootView 的类从 更改 UINavigationControllerUITableViewController

现在我的问题是,无论有没有 IB 中的连接,无论我尝试在表格或标题栏中进行更改,当我运行应用程序时它都不会更改。

有人知道我做错了什么吗?我使用的是 xcode 4.6,所以我检查过的很多教程都不是很有用,因为它们是用旧版本的 xcode 制作的。请帮助我,提前谢谢!

4

3 回答 3

1

在此处输入图像描述在你AppDelegate替换这一行

    TableViewController *tableView = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];

有了这个

    TableViewController *tableView = [[TableViewController alloc] initWithStyle:UITableViewStylePlain];
于 2013-03-31T12:16:23.567 回答
0

您不是在创建一个实例,TableViewController而是UITableViewController因此您没有执行任何代码。(您的应用程序委托中应该对此有编译器警告 - 请务必注意这些警告)。同样,您不会在任何地方加载 NavigationView 笔尖 - 您正在创建一个导航控制器,其中表作为根视图控制器。目前尚不清楚您对 NavigationView 的目标是什么,因此我无法就如何进行提供建议。但是,对于表格视图,请在您的应用委托中更改以下行

TableViewController *tableView = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];

TableViewController *tableView = [[TableViewController alloc] init];

在您的表视图 xib 中,确保将 File's Owner 的类设置为类TableViewController(不是UITableViewController)。右键单击表格视图并将“数据源”和“委托”旁边的圆圈拖动到文件所有者。然后右键单击文件的所有者并确保“视图”旁边的圆圈连接到表格视图。保存、清理并运行。

于 2013-03-31T12:47:40.117 回答
0

您可能还会发现查看免费的 Sensible TableView 框架非常有用。该框架将获取您的数组并自动生成所有表格视图单元格,同时管理正确设置导航控制器所需的所有细节。希望这可以帮助。

于 2013-03-31T14:38:59.743 回答