-4

我想要两个在两个三视图控制器之间切换,方法是保留当前上下文,就像 TabBarController 所做的一样。但不使用 TabBarController 模板。

请参阅附件屏幕截图。

?在此处输入图像描述

4

4 回答 4

2

如果你一直在做同样UIView的事情,你可以做类似的事情

在你的文件中取一个UISegmentedControl和三个。UIViews.h

使用for changeView中的操作绑定每个视图和分段控制IBUIControlEventsValueChanged

- (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

于 2012-09-05T12:57:48.873 回答
0

在您的 VC 中,您应该定义 3并在方法UIViewController中初始化它们。-(id)init然后,当您按下按钮时,您只需将相应的视图控制器附加到self.view.

于 2012-09-05T12:46:49.753 回答
0

您可以拥有一个“主”视图控制器,并将控件放在其视图的底部。然后它会在按下按钮时“呈现”和“关闭”这 3 个视图控制器(我希望这是您正在显示的分段控件)。只需使用 UIViewController 的标准功能,这一切都应该很好地工作。

编辑:要处理过渡,您将需要尝试各种想法来找到您最喜欢的想法。一些想法:

  • 当点击不同的选项卡时,关闭显示的视图并呈现没有动画的新视图。这应该模仿 tabBarController 的作用

  • 阅读 UIViewController 类描述中标题为“实现容器视图控制器”的段落 - 它向您展示了容器视图可以导致从 viewController A 转换到 viewController B 的各种方式

于 2012-09-05T12:50:52.823 回答
0

在您的代码中,您应该定义 3 UIViewController 并且您可以在按下任何一个视图时设置剩余两个视图的隐藏属性。然后,当您按下任何其他按钮时,您就可以显示隐藏属性并为以前的视图设置隐藏属性。

于 2012-09-05T13:01:45.097 回答