我想要两个在两个三视图控制器之间切换,方法是保留当前上下文,就像 TabBarController 所做的一样。但不使用 TabBarController 模板。
请参阅附件屏幕截图。
?
如果你一直在做同样UIView
的事情,你可以做类似的事情
在你的文件中取一个UISegmentedControl
和三个。UIViews
.h
使用for changeView
中的操作绑定每个视图和分段控制IB
UIControlEventsValueChanged
- (IBAction) changeView
{
switch (segmentViews.selectedSegmentIndex)
{
case 0:
[firstView setHidden:NO];
[secondView setHidden:YES];
[thirdView setHidden:YES];
break;
case 1:
[firstView setHidden:YES];
[secondView setHidden:NO];
[thirdView setHidden:YES];
break;
case 2:
[firstView setHidden:YES];
[secondView setHidden:YES];
[thirdView setHidden:NO];
break;
}
}
它会随着变化的变化而selectedSegmentIndex
变化。给它适当的backgrondColor
样子tapbar
。您甚至可以添加animation
视图过渡效果。
它可以与不同的控制器一起工作UIViewControllers
,但您必须在每个控制器中添加UISegmentControl
和维护。UIDesign
也需要保养currentIndex
。
在您的 VC 中,您应该定义 3并在方法UIViewController
中初始化它们。-(id)init
然后,当您按下按钮时,您只需将相应的视图控制器附加到self.view
.
您可以拥有一个“主”视图控制器,并将控件放在其视图的底部。然后它会在按下按钮时“呈现”和“关闭”这 3 个视图控制器(我希望这是您正在显示的分段控件)。只需使用 UIViewController 的标准功能,这一切都应该很好地工作。
编辑:要处理过渡,您将需要尝试各种想法来找到您最喜欢的想法。一些想法:
当点击不同的选项卡时,关闭显示的视图并呈现没有动画的新视图。这应该模仿 tabBarController 的作用
阅读 UIViewController 类描述中标题为“实现容器视图控制器”的段落 - 它向您展示了容器视图可以导致从 viewController A 转换到 viewController B 的各种方式
在您的代码中,您应该定义 3 UIViewController 并且您可以在按下任何一个视图时设置剩余两个视图的隐藏属性。然后,当您按下任何其他按钮时,您就可以显示隐藏属性并为以前的视图设置隐藏属性。