iOS切换视图1查看回来

时间:2013-02-17 08:42:22

标签: iphone ios objective-c

我昨天开始了iOS开发,并尝试设置2个切换视图。在教程的帮助下,这不是一个真正的问题。然后我想:让我们做第三个观点。一切都很顺利,但是当我试图从第3个切换到第2个时,它切换到1。 当我尝试使用[self presentModalViewController ...]时,它会切换到我在那里写的视图,但不会倒退。并且[自解雇...]它只是一直切换到第一个视图。有可能在我想要的地方进行这种切换吗? 3比2,2比1比3比1等。

此致

4 个答案:

答案 0 :(得分:1)

当您说切换视图时,您指的是视图控制器。可以有很多方法在控制器之间切换。

首先是推送到新的视图控制器。仅当当前视图控制器在其上保持导航控制器时才能实现这一点。导航控制器允许您在视图控制器之间导航。当您使用“pushViewController”方法导航到新控制器时,您需要使用“导航控制器的popviewcontroller方法”返回到前一个控制器。这允许您弹回到上一个屏幕/控制器。

但是,无论何时推送到新控制器,这意味着,您正在向堆栈中添加/插入一个控制器,并且如您所知堆栈是LIFO,最后一个必须先从堆栈中取出然后才能获得堆栈的其他元素。

所以,例如:如果你有3个控制器A,B和C.你从A开始并推到B,然后进一步从B推到C然后堆栈将有CBA(C将在顶部和A将在底部)。所以你必须首先弹出C然后B等。

移动到新控制器的其他方法是:presentModalViewController来呈现一个屏幕/控制器,这可以使用dismissmodalviewcontroller方法删除。

希望这有帮助。

答案 1 :(得分:0)

要继续前进,您可以使用如下的UINavigation控制器:

FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstView" bundle:[NSBundle mainBundle]]; 

  [self.navigationController pushViewController:firstViewController animated:YES];
  [firstViewController release];

myViewController是viewcontroller的对象。 &安培;对于一个视图,仅在线下使用:

[self.navigationController popViewControllerAnimated:YES];

答案 2 :(得分:0)

您可以使用一个视图控制器并在不同的视图之间切换,如:

[view1 removeFromSuperview];
[myRootView addSubview: view2];

答案 3 :(得分:0)

当您提供模态视图控制器时,需要在继续之前将其关闭。特别是你不能以模态方式呈现视图控制器1,然后以模态方式呈现视图控制器2,然后以模态方式呈现视图控制器1.

至少你必须解雇模态视图控制器2 - 然后1应该仍在那里。

根据这些控制器的性质,UINavigationController或视图交换可能是更好的选择。