我正试图在两个视图之间切换。问题在于如何调用它。
这是解释我情况的最简单方法:
我有一个父视图。 使用子类ChildView,它包含一个表。 在选择该表中的对象后,我希望切换到该父视图的不同子视图。
父--------- |儿童1 |儿童2
Child 1是Parent的子类,允许我访问Parent中的一个方法,该方法在子视图1和2之间切换,但由于某种原因,从Child 1访问它时它不起作用。
有关如何执行此操作的任何线索?下面是基本代码:
儿童1 - (void)changeViews
[super methodToSwitchChildViews];
父 - (void)methodToSwitchViews
[self.child1.view removeFromSuperView];
[self.view insertSubView:child2.view atindex:0];
答案 0 :(得分:0)
Super是继承中(子)类之前的类。这里的孩子们似乎是超级视图(父母)的观点。所以使用superview,而不是super。
答案 1 :(得分:0)
好的,我挖了很多东西,最后想出了一个解决方案。如果有人遇到同样的问题,你可以做什么:
在子视图的.h文件中执行
@class parentViewName
然后在.m文件中添加
#import "parentViewName.h"
...
- (void) functionToRemoveSelfFromView {
parentViewName *PARENT = [[parentViewName alloc] init];
// You must have a method in the parent view to toggle or remove the subview, the way
// you want it done, then call it with the new delegate. Make sure it doesn't set this
// view to nil or releases it because this method has yet to return. If animating do not
// hide this view either.
[PARENT methodToRemoveSelfFromView];
[PARENT release];
}