我只是无法理解观点的事情,并以某种方式找不到一个明确的解决方案。
我有一个视图“A”,它有一个按钮可以转到另一个视图“B”。视图B带我去查看C,视图C带我回到A。
在视图C中,在用户点按的任何地方,他都会看到一个图像。其代码在视图C的.m文件中。
问题是当我从视图C切换到A时,C的代码仍然在视图A上工作?如果我点击A,我会在任何地方看到该图像,但A是我的菜单而不是游戏的一部分。使图像显示在点击上的方法仅属于视图C!
我无法理解这些观点;在开始时我使用insertSubview:atIndex:
,一切都重叠,所以现在我使用addSubview:
,我遇到了这个问题。
有人可以从几何上解释这是如何工作的吗?
为什么在视图中看到视图C中的按钮有时候没有理由?为什么在加载C并返回A之后,它在视图A上实现了C的代码?
为什么我的观点一直都在重叠?我希望每个视图能够单独工作,而不是从它背后的视图中看到任何东西,或者从过去加载的视图中实现代码。
请帮助我了解我的观点。非常感谢。
答案 0 :(得分:1)
您可能希望专注于UIViewControllers而不是视图。有了这个,你就不会有这个问题,UIViewController几乎总是全屏,你可以专门为它编码。您可以创建三个UIViewController子类,一个用于A,B和C.在每个nib中,您可以添加一个按钮,并使用它来呈现下一个视图控制器(可能使用presentModalViewController :)。在第三个子类中,您可以实现逻辑,以便在用户点击时显示图像。
答案 1 :(得分:0)
一个好的做法,就是说你有一个
UIViewController * myViewController 有3个属性:
UIVIew * viewA
UIView * viewB
UIView * viewC
如果你想要diplay将viewA放在堆栈上,只需设置
myViewController.view = viewA;
等等!