更改UInavigationbar标题后页

时间:2013-06-17 12:59:59

标签: iphone ios objective-c

我有两个屏幕。我希望在第二个屏幕中导航栏更改后单击按钮第一个屏幕。 我使用故事板

第一个屏幕代码

-(IBAction) ChangeSecondPageTitle: (id) sender {

SecondViewController *second=[[self storyboard] instantiateViewControllerWithIdentifier:@"second"];
        second.modalTransitionStyle=UIModalTransitionStyleFlipHorizontal;
          second.detailTitle.topItem.title=@"example";
        [self presentModalViewController:second animated:YES];
}

第二次screen.h

  

@property(弱,非原子)IBOutlet UINavigationBar * detailTitle;

3 个答案:

答案 0 :(得分:3)

我猜你正试图为你的第二个屏幕导航栏设置标题。

使用导航控制器显示第二个屏幕。

在SecondDetailViewController实例中,维护NSString属性。

@property (strong, nonatomic) NSString *navBarTitle;

在viewDidLoad中,只需设置标题。

[self setTitle:navBarTitle];

答案 1 :(得分:2)

实际上,您的代码无效的原因是您将属性设置为导航栏,然后调用viewDidLoad。在viewDidLoad中,它加载nib文件并返回新分配的navBar。因此,要解决此问题,请从第一个视图开始设置全局字符串,然后在viewDidLoad设置navbar的{​​{1}}。跟随 Adithya对此的回答。

答案 2 :(得分:1)

在第二个屏幕中声明属性

@property (strong, nonatomic) NSString *newTitle;

并在viewDidLoad

     self.title  = _newTitle;

并在您的第一个屏幕中

  ...
  second.newTitle = @"NEW_TITLE";