后推导航按钮未显示在推动视图控制器中

Pau*_*ard 7 iphone uinavigationcontroller uinavigationitem ios4

我有一个问题,我可以从我的根视图控制器成功推送一个新的视图控制器(使用基于导航的应用程序使用核心数据模板),但详细视图,它是一个单独的xib文件,从根视图控制器,没有' t显示后退导航按钮.我确信我已经在IB中完成了所有正确的连接,其他一切都按预期工作.

RootViewController.h

@class ItemsViewController;

@interface RootViewController : UITableViewController <NSFetchedResultsControllerDelegate> {

IBOutlet ItemsViewController *itemsVC;

}

@property (nonatomic, retain) IBOutlet ItemsViewController *itemsVC;

@end
Run Code Online (Sandbox Code Playgroud)

RootViewController.m

#import "ItemsViewController.h"

@synthesize itemsVC;

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
// Pushes to ItemsViewController

ItemsViewController *itemsViewController = [[ItemsViewController alloc] initWithNibName:@"ItemsViewController" bundle:[NSBundle mainBundle]];

[self.navigationController pushViewController:itemsViewController animated:YES];
[itemsViewController release];

}
Run Code Online (Sandbox Code Playgroud)

ItemsViewController是一个UITableViewController子类,它有自己的xib,也叫做ItemsViewController.再次,它从RootViewController推送,但后退按钮不会显示如下.我的印象是它是使用导航控制器的"免费"功能.正如您所料,这是一个非常令人沮丧的障碍,我将不胜感激任何帮助.

Sha*_*rog 14

你的ItemsViewController类是否title在其viewDidLoad方法中设置了它的属性?

您应该将其[tableView deselectRowAtIndexPath:indexPath animated:YES]作为tableView:didSelectRowAtIndexPath:符合Apple人机界面指南的最后一行.


Pud*_*all 10

是的,请确保您的RootViewController上有标题,如果没有,则不会出现任何按钮.以编程方式设置标题;

self.navigationItem.title = @"Hello Der";
Run Code Online (Sandbox Code Playgroud)