【发布时间】:2014-04-17 03:33:07
【问题描述】:
我正在将情节提要与RBStoryboardLink 链接。当我尝试使用以下代码修改当前视图控制器的标题时,我看不到任何更改:
self.navigationItem.title = @"Foo";
我该如何解决这个问题?
【问题讨论】:
标签: ios objective-c uiviewcontroller storyboard
我正在将情节提要与RBStoryboardLink 链接。当我尝试使用以下代码修改当前视图控制器的标题时,我看不到任何更改:
self.navigationItem.title = @"Foo";
我该如何解决这个问题?
【问题讨论】:
标签: ios objective-c uiviewcontroller storyboard
使用这个故事板链接解决方案,视图控制器被添加为子视图控制器。它的属性只在 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";
【讨论】:
你可以使用方法
- (UIViewController *)rbsl_targetViewController
这将确保您真正获得包含您的视图控制器的 RBStoryboardLink。
所以,在你的情况下
#import "UIViewController+RBStoryboardLink.h"
self.rbsl_targetViewController.navigationItem.title = @"Foo";
Here 是文档。
【讨论】: