在一个UIViewController中UIViews之间交换(Swapping between U

2019-10-19 00:22发布

我仍然在寻找我的iPhone SDK的周围的方式,我已经按照一些很好的教程,但我想找到暂且一些简单的解决方案。

现在我想敲了一个简单的应用程序,将共享相同的UIViewController。

我已经在Interface Builder创建多个视图,并在检查(身份视图 - Interface Builder的身份)给了他们唯一的名称。

假设我已经放在一个按钮和书面按下按钮时调用的操作。 我简单的问题是Xcode的范围内, 我怎么调用编程的其他意见的人吗?

非常感谢

Answer 1:

我建议试图控制多个视图,当您使用多个视图控制器。 总结他们在一个UINavigationController,使您的生活更轻松。

随着中说,要在主控制器创建IBOutlets,和挂钩每一个释放你的观点之一。 然后,当你准备好,你可以

[view1 removeFromSuperview];
[self.view addSubview: view2];

请注意,这预示您使用的是第三个独立的视图控制器的主视图。



Answer 2:

您的视图控制器具有一个view属性。

你可能有这样的两个子视图view属性。 让我们把那些IBOutlet UIView *性能subviewAsubviewB

如果他们被插入顺序,那么你可以简单地通过调用交换他们-bringSubviewToFront:在视图控制器的方法view属性:

[self.view bringSubviewToFront:subviewB];

同样地,把subviewA回到前面:

[self.view bringSubviewToFront:subviewA];

如果你愿意,你也可以动画子视图frame性质,把他们的起源彼此相对,进出的方式移动它们,以及生命的衰落和其他视图属性。 这是一个有点更多的工作,但有一个很好的堆栈溢出的答案在这里的主题。



Answer 3:

我也强烈建议Apress的书“开头的iPhone3发展”。

我刚才实现像这样使用了分段控制。 在一个子视图我已经从一个放在另一个的顶部和分割控制动作设定view1.hidden = YES; view2.hidden = NO; 并在控制状态改变响应,反之亦然。

你可能想检查出的标签栏控制器界面生成器,因为它会自动为你要替换另一个屏幕大小的视图的画面大小的视图切换视图没有代码可言,至少在简单情况和每个人都有自己的视图控制器。



Answer 4:

在它的脸上,这是一个有点怪。 一般来说,这将是最简单的,如果1个视图== 1控制器。

您尝试添加子视图(即,例如将被添加到主视图,控制器),或者是他们当用户按下一个按钮,将surplant现存全屏查看意见看法?



Answer 5:

这本书,由Dave和Jeff开始iPhone3的发展大约有一个很好的教程。 您需要创建2子视图您的主视图控制器,并分别给他们打电话。



文章来源: Swapping between UIViews in one UIViewController