【问题标题】:How to get a Handle of the Navbar from a view controller inside a container view如何从容器视图中的视图控制器获取导航栏的句柄
【发布时间】:2014-08-16 03:28:48
【问题描述】:

我在视图控制器中嵌入了一个容器视图。容器用于显示不同的视图控制器。如何更改标题或在父级导航栏中添加按钮?

谢谢!

【问题讨论】:

  • 最终使用通知中心更新标题。调用子视图时发送。

标签: ios objective-c uinavigationbar ioc-container parentviewcontroller


【解决方案1】:

您可以直接访问控制这些属性的 navigationItem(假设 self = your childViewController:

[self.parentViewController.navigationItem setTitle:<Your Text>];
[self.parentViewController.navigationItem setLeftBarButtonItem:<Your Button>];

【讨论】:

  • 你是从 childViewController 调用'self',对吗?如果是这样, NSLog(@"%@", self.parentViewController) 看看它返回了什么。我可能没有正确理解您的 viewController 层次结构。
  • NSLog(@"%@", self.parentViewController) 返回 null
  • 如何将这些视图添加到您的 parentViewController?如果您以编程方式执行此操作,例如 [mainViewController addChildViewController:self.childViewController];,那么 self.childViewController.parentViewController 将返回 mainViewController
  • [fromViewController willMoveToParentViewController:nil]; [自我 addChildViewController:toViewController]; [self transitionFromViewController:fromViewController toViewController:toViewController duration:0.45 options:UIViewAnimationOptionTransitionCrossDissolve 动画:nil completion:^(BOOL finished) { [fromViewController removeFromParentViewController]; [toViewController didMoveToParentViewController:self]; self.transitionInProgress = 否; }];
  • 哈哈,是的。您能否将这些行添加为原始帖子的编辑?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-09
  • 2012-08-11
  • 1970-01-01
  • 2018-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多