Iphone 如何使用UIbutton实现Tabbar控制器一样的功能?

Iphone 如何使用UIbutton实现Tabbar控制器一样的功能?,iphone,ios,ipod,Iphone,Ios,Ipod,我希望两个视图控制器在两个三视图控制器之间切换,方法是像TabBarController一样保留当前上下文。但不使用TabBarController模板 查看附件屏幕截图 ?在VC中,您应该定义3UIViewController,并在-(id)init方法中初始化它们。然后,当您按下按钮时,您只需将相应的视图控制器连接到self.view上,就可以拥有一个“主”视图控制器,并将控件放在其视图的底部。然后,当按下按钮时,它将“显示”和“关闭”3个视图控制器(我希望您显示的是分段控件)。只要使用UI

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

查看附件屏幕截图


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

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

编辑:为了应对这种转变,你需要运用各种各样的想法来找到你最喜欢的。一些想法:

  • 当点击另一个选项卡时,关闭显示的视图,并在没有动画的情况下显示新视图。这应该模仿tabBarController的功能

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


如果您一直在使用相同的
UIView
,您可以执行以下操作

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

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
。您甚至可以添加
动画
以获得视图过渡效果


它可以与不同的
UIViewControllers
配合使用,但您必须在每个控制器中添加
UISegmentControl
并维护
UIDesign
。还需要在代码中维护
currentIndex

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

请使用自定义选项卡栏控制器,但选项卡选项卡不能这样工作。它保留了前一个视图的contain(如变量、添加在其上的视图等),并在返回时显示给我们。解除控制器会导致该视图从头开始。