我有一個視圖控制器在其自己的視圖中調用一個名爲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