我正在将故事板与RBStoryboardLink相关联。当我尝试使用以下代码修改当前视图控制器的标题时,我看不到任何更改:
self.navigationItem.title = @"Foo";
我该如何解决这个问题?
答案 0 :(得分:4)
通过此故事板链接解决方案,视图控制器将被添加为子视图控制器。它的属性仅在segue实际发生时复制一次。
例如在SSUStoryboardLink.m中,以下代码在awakeFromNib中执行:
...
navItem.title = linkedNavItem.title;
navItem.titleView = linkedNavItem.titleView;
navItem.prompt = linkedNavItem.prompt;
navItem.hidesBackButton = linkedNavItem.hidesBackButton;
navItem.backBarButtonItem = linkedNavItem.backBarButtonItem;
navItem.rightBarButtonItem = linkedNavItem.rightBarButtonItem;
...
要设置属性,必须在父视图控制器上设置它们:
self.parentViewController.navigationItem.title = @"Foo";
答案 1 :(得分:0)
您可以使用方法
- (UIViewController *)rbsl_targetViewController
这将确保您实际获得包含视图控制器的RBStoryboardLink。
所以,在你的情况下
#import "UIViewController+RBStoryboardLink.h"
self.rbsl_targetViewController.navigationItem.title = @"Foo";
Here是文档。