使用RBStoryboardLink设置导航项的属性?

时间:2014-04-17 03:33:08

标签: ios objective-c uiviewcontroller storyboard

我正在将故事板与RBStoryboardLink相关联。当我尝试使用以下代码修改当前视图控制器的标题时,我看不到任何更改:

self.navigationItem.title = @"Foo";

我该如何解决这个问题?

2 个答案:

答案 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是文档。