我有一个视图控制器在其自己的视图中调用一个名为closeMenu的方法。如下所示closeMenu从superView中移除一个名为menu的UIImageView并将其设置为nil。该方法在视图内调用但在从视图控制器调用时不起作用从其自己的视图控制器调用视图的方法,不工作
调用方法时,视图控制器将UIImageView的“菜单”视为零,即使它存在。
有关如何让视图控制器从超级视图中删除菜单并将其设置为等于nil的任何想法?
视图控制器:
loadview {
View *mainView = [[View alloc] initWithFrame:CGRectMake(0,0,320,480)];
self.view = mainView;
[mainView release];
}
//Call closeMenu in View
[(View *)self.view closeMenu];
查看:
menu = [[UIImageView alloc] initWithImage:image];
[self addSubview:menu];
-(void)closeMenu {
NSLog(@"%@", menu); //Displays: (null), only when called by controller
if(menu != nil) {
[menu removeFromSuperview];
self.menu = nil;
}
}
当我在视图中创建一个按钮实例与冲着closeMenu方法只是正常的动作。
不使用IB,编码所有内容。菜单在视图中初始化,在视图控制器中没有提及它。在上面编辑以显示菜单init的位置 – John 2010-11-20 22:59:10