第一个屏幕代码
-(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;
答案 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";