有A、B兩個ViewController,假如A push B;
UINavigationItem 的3個屬性有backBarButtonItem, leftBarButtonItem, rightBarButtonItem。
假如設置BViewController的leftBarButtonItem 和rightBarButtonItem.則採用
UIBarButtonItem *cancelBtnItem = [[UIBarButtonItem alloc]initWithTitle:"取消" style:UIBarButtonItemStylePlain target:self action:nil];]
self.navigationItem.leftBarButtonItem = cancelBtnItem ;
[cancelBtnItem release];
因此,rightBarButtonItem也是如此採用此方式實現。
但假若想實現BViewController的backBarButtonItem,就要在AViewController的ViewDidLoad中設置backBarButtonItem.
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:"返回" style:UIBarButtonItemStylePlain target:self action:nil];
self.navigationItem.backBarButtonItem = backButton;
這樣纔可以在B中設置backBarButtonItem.此時,纔會在B中有效果出現,顯示返回字樣。否則,則無設置效果。