Objective c 重叠子视图的最佳替代方案
我有一个包含登录表单的Objective c 重叠子视图的最佳替代方案,objective-c,ios,storyboard,Objective C,Ios,Storyboard,我有一个包含登录表单的ui视图,但是当用户已经登录时,我想显示一个注销按钮而不是表单 我目前的方法是为登录表单和登录按钮创建一个子视图,在Interface Builder中相互重叠 然后,我一次只显示一个子视图 是否有更好的方法来实现这一点,以便在仍然使用相同的UIViewController的情况下,在Interface Builder中更易于设计 如果重要的话,视图是模态视图。对于视图控制器的可选/模态部分,我过去多次使用的一种方法是为每个部分创建一个视图,作为nib中的顶级对象。您可以使
ui视图
,但是当用户已经登录时,我想显示一个注销按钮而不是表单
我目前的方法是为登录表单和登录按钮创建一个子视图,在Interface Builder中相互重叠
然后,我一次只显示一个子视图
是否有更好的方法来实现这一点,以便在仍然使用相同的UIViewController
的情况下,在Interface Builder中更易于设计
如果重要的话,视图是模态视图。对于视图控制器的可选/模态部分,我过去多次使用的一种方法是为每个部分创建一个视图,作为nib中的顶级对象。您可以使用interface builder更轻松地排列每个视图,然后在代码中只需在
viewDidLoad
方法中将适当的视图有条件地添加到主视图中。请记住,作为nib中的顶级对象,它们应该具有强输出,而不是弱输出。您可以将UIViewController
调整为实际的UIAbbarController
,但调整选项卡栏,使其在将控制器推到屏幕时不可见:
self.hidesBottomBarWhenPushed=YES代码>
这将允许您:
以编程方式在视图之间轻松切换
在IB中轻松管理两个(或多个)独立的UIViewController实例,而不会重叠
当IB是顶级对象时,如何在IB中编辑/查看视图?与主视图相同。它们之间唯一的区别是主视图连接到视图控制器的视图
出口。哦,在这种情况下,我建议您将它们放在单独的nib中,并从nib加载视图。同样的基本原理,您只需使用UINib
加载它们。