0

我有一个UIView包含登录表单,但是当用户已经登录时,我想显示一个注销按钮而不是表单。

我目前的方法是为登录表单和登录按钮创建一个子视图,在 Interface Builder 中相互重叠。

然后我一次只显示一个子视图。

有没有更好的方法来做到这一点,以便在 Interface Builder 中设计更容易,同时仍然使用相同的UIViewController

如果重要,该视图是模态视图。

4

2 回答 2

2

您可以将您UIViewController的实际调整为UITabBarController,但调整选项卡栏,使其在控制器被推到屏幕时不可见:

self.hidesBottomBarWhenPushed = YES;

这应该允许您:

  1. 以编程方式轻松地在视图之间切换
  2. 在 IB 中轻松管理两个(或更多)单独的 UIViewController 实例,而不会重叠
于 2012-09-13T18:43:54.187 回答
0

对于视图控制器的可选/模态部分,我过去多次使用的一种方法是为每个部分创建一个视图作为 nib 中的顶级对象。您可以使用界面生成器更轻松地安排每个视图,然后您需要在代码中做的就是有条件地将适当的视图添加到viewDidLoad方法中的主视图。请记住,作为 nib 中的顶级对象,它们应该有强大的出口,而不是弱出口。

于 2012-09-13T18:09:30.170 回答