如何在同一控制器中交替切换视图(视图需要遍布整个屏幕)?

时间:2013-02-23 04:17:53

标签: ios ios5 ios6

我正在练习ios,我正在尝试制作简单的房地产应用程序,一个viewcontroller,我把导航栏和导航栏的右侧s我有按钮地图 (我试图用基本数据显示区域内的所有房屋:街道,价格,长,纬度...在tableview中,就像mapview上的标记一样。)

我希望该按钮的行为类似于切换,以在表视图和地图视图之间切换但在同一个控制器中。 (在android中,我可以把一个放在另一个之下,只是交替设置可见性去一个并且可见另一个)。 如何在同一控制器中交替切换视图(视图需要遍布整个屏幕)?

3 个答案:

答案 0 :(得分:1)

只需将新视图分配给旧版

UIView *generalView=[UIView alloc]init];
[self.view addSubView:generalView];

当你想要显示tableView时,只需指定

generalView=tableView;

当你想要地图时,那么

generalView=mapView;

答案 1 :(得分:1)

您使用的是故事板吗?为什么不在按钮上执行segue?

- (void)myButtonMethod
{
    //execute segue programmatically
    [self performSegueWithIdentifier: @"MySegue" sender: self];
}

“MySegue”将是两个视图之间的故事板中设置的segue标识符。

答案 2 :(得分:0)

将两个视图tableview和maple添加到UIViewController的视图中。 这就像是:

-(void) viewDidLoad
{
    [self.view addSubview:tableView];
    [self.view addSubview:mapView];
}

点击按钮,决定需要显示哪个视图:

-(void) onButtonClick:(UIButton *)sender
{
     //If you want to display map..
     [self.view bringSubviewToFront:mapView];
     //If tableview needs to display
     [self.view bringSubviewToFront:tableView];
}