0

我正在尝试将 leftBarButtonItem 添加到我的 iPhone 应用程序中。我有导航控制器,里面有 TableViewController。我在我的 AppDelegate.m 文件中编码以下行。

self.viewCon = [[UITableViewController alloc]init];
    self.navCon = [[UINavigationController alloc]initWithRootViewController:self.viewCon];


  self.viewCon.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] 
initWithTitle:@"Second View"  style:UIBarButtonItemStyleBordered target:self action:@selector(push)]autorelease];

导航项目不会出现在屏幕上。桌子上。可能是什么问题?顺便说一句,没有 ARC 或故事板。

4

3 回答 3

3

我假设您想要一个顶部带有 NavigationController 的 TableView,在这种情况下,您的根视图控制器将是您的导航控制器而不是您的 tableview。如果你在 IB 中正确构建了应用程序(因为我看不到你做了什么,所以在黑暗中刺伤),那么你不应该初始化你的导航控制器。如果是这种情况,那么它应该很简单

self.viewCon.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Second View"  style:UIBarButtonItemStyleBordered target:self action:@selector(push)]autorelease];

我认为正在发生的事情是你正在用你的程序初始化覆盖你当前设置的 NavController,这导致一切都消失了。

如果所有这些都是这种情况,并且您可能已经尝试过,请发回错误和您的 IB 设置的屏幕截图。

于 2013-01-29T00:26:39.097 回答
0

试试这个:

UIBarButtonItem *bbi = [[[UIBarButtonItem alloc] initWithTitle:@"Second View" style:UIBarButtonItemStyleBordered target:self action:@selector(push)]autorelease];
[self.navigationItem setLeftBarButtonItem:bbi];
于 2013-01-28T18:31:28.013 回答
-1
[self.navigationController setNavigationBarHidden:NO];
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
[backButton setFrame:CGRectMake(0, 0, 49,32)];
        [ backButton setBackgroundImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];
        [backButton addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
        UIBarButtonItem *back = [[UIBarButtonItem alloc]initWithCustomView:backButton];
        self.navigationItem.leftBarButtonItem = back;
        [back release];
于 2013-01-28T18:50:29.397 回答