在这里,我有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;


我的问题是,根据我在userProfileVc中设置的内容,为什么userListVC中的导航项标题未显示为“ Followings”(请参阅​​第一个代码中的注释),但标题没有任何结果。我不知道我在这里做错了什么或错过了什么。

最佳答案

尝试改变

userListViewController.navItem.title = @"Followings";


在上面的代码中

userListViewController.title = @"Followings";


UIViewController具有(NSString *)title属性。如果不是nil,则为该字符串,当特定的UIViewController在前面时,您将在UINavigationBar中看到该字符串。

然后改变这个

[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];
     }

10-08 13:57