我有一个UIView
包含登录表单,但是当用户已经登录时,我想显示一个注销按钮而不是表单。
我目前的方法是为登录表单和登录按钮创建一个子视图,在 Interface Builder 中相互重叠。
然后我一次只显示一个子视图。
有没有更好的方法来做到这一点,以便在 Interface Builder 中设计更容易,同时仍然使用相同的UIViewController
?
如果重要,该视图是模态视图。
我有一个UIView
包含登录表单,但是当用户已经登录时,我想显示一个注销按钮而不是表单。
我目前的方法是为登录表单和登录按钮创建一个子视图,在 Interface Builder 中相互重叠。
然后我一次只显示一个子视图。
有没有更好的方法来做到这一点,以便在 Interface Builder 中设计更容易,同时仍然使用相同的UIViewController
?
如果重要,该视图是模态视图。
您可以将您UIViewController
的实际调整为UITabBarController
,但调整选项卡栏,使其在控制器被推到屏幕时不可见:
self.hidesBottomBarWhenPushed = YES;
这应该允许您:
对于视图控制器的可选/模态部分,我过去多次使用的一种方法是为每个部分创建一个视图作为 nib 中的顶级对象。您可以使用界面生成器更轻松地安排每个视图,然后您需要在代码中做的就是有条件地将适当的视图添加到viewDidLoad
方法中的主视图。请记住,作为 nib 中的顶级对象,它们应该有强大的出口,而不是弱出口。