【发布时间】:2015-12-18 13:06:45
【问题描述】:
我有这张图所示的情况。
简而言之,我有一个可以以不同方式配置的视图控制器,我希望能够通过 IB 指定这些方式。我认为这两个箭头是 segue,所以我想我会覆盖prepareForSegue:sender:,并根据每个 segue 的 id 配置目标视图控制器。我只需要在初始化时执行一次,所以我认为该方法可行。然而,这两个箭头被证明不是segues——或者至少prepareForSegue:sender:不会为它们开火。
这样的事情真的可以做到吗?最坏的情况,我可以通过编程来完成,没什么大不了的,但我认为故事板很酷,为什么不使用它们呢?
【问题讨论】:
-
prepareForSegue应该为嵌入 segues 触发,但您需要有一个自定义的 uitabbarcontroller 类来访问它。您应该能够在 IB developer.apple.com/library/mac/recipes/… 中使用用户定义的运行时属性 -
我认为这是一个好主意,但不幸的是,该类必须与键值编码兼容,您才能设置这样的运行时属性。由于我会将属性附加到 tabBarItem,除非我自己制作,否则没有机会这样做。我可以使用标签。
-
@Morpheu5 你看到我的回答了吗?这很容易(除非我误解了你的问题)。事实上,我今天才这样做。
-
@RobertVaessen 我试过了,但我发现在标签栏视图控制器上运行 viewDidLoad 时,每个视图控制器的 tabBarItems 都没有初始化。
-
@Morpheu5 哎呀,我错过了你想在 TabBarController 中进行初始化。我已经更新了我的答案。而且,因为我的回答很简单,我怀疑我可能仍然遗漏了一些关于你的情况:-(
标签: ios swift uitabbarcontroller uistoryboardsegue