转:http://hi.baidu.com/ivan_xu/item/237bb1ad77eff9b028ce9d7c
有A、B两个ViewController,假如A push B;
UINavigationItem 的3个属性有backBarButtonItem, leftBarButtonItem, rightBarButtonItem。
设置B_ViewController的leftBarButtonItem 和rightBarButtonItem.则采用
UIBarButtonItem *cancelBtnItem = [[UIBarButtonItem alloc]initWithTitle:@"取消" style:UIBarButtonItemStylePlain target:self action:nil];
self.navigationItem.leftBarButtonItem = cancelBtnItem ;
[cancelBtnItem release];
因此,rightBarButtonItem也是如此采用此方式实现。
设置B_ViewController的backBarButtonItem,就要在A_ViewController的ViewDidLoad中设置backBarButtonItem.
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:self action:nil];
self.navigationItem.backBarButtonItem = backButton;
这样才可以在B中设置backBarButtonItem.此时,才会在B中有效果出现,显示返回字样。否则,则无设置效果。