从另一个调用视图的视图设置视图的导航项标题

时间:2014-12-27 08:57:03

标签: ios objective-c uinavigationitem

此处我有2个观看次数: userProfileVC userListVC 。 在 userProfileVC 中,有一个按钮操作方法:

- (IBAction)followingButtonPressed:(id)sender {
    UserListViewController *userListViewController = [[UserListViewController alloc] initWithNibName:nil bundle:nil];
    userListViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    userListViewController.navItem.title = @"Followings"; //I expect this to set userListVC navigation item title to "Followings"
    [self presentViewController:userListViewController animated:YES completion:nil];
}

这会调用 userListVC ,我已经设置了navItem的属性,如下所示:

UserListVC.h

@property (weak, nonatomic) IBOutlet UINavigationItem *navItem;

UserListVC.m

@synthesize navItem;

我的问题是为什么没有显示userListVC中的导航项目标题"以下"根据我在userProfileVc中设置的内容(请参阅我在第一个代码中的注释),但它对标题没有任何影响。我不知道我在这里做错了什么或错过了什么。

1 个答案:

答案 0 :(得分:1)

尝试更改

userListViewController.navItem.title = @"Followings"; 

在上面的代码中

userListViewController.title = @"Followings";

UIViewController有一个(NSString *)title属性。如果这不是nil那么这是你在UINavigationBar中看到的字符串,当特定的UIViewController在前面时。

然后改变这个

[self presentViewController:userListViewController animated:YES completion:nil];

到这个

if (self.navigationController){
[self.navigationController presentViewController:userListViewController animated:YES completion:nil];

}else{
    UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:userListViewController];
    [self presentViewController:nav animated:YES completion:nil];
     }