View Controllerは、closeMenuという独自のビューでメソッドを呼び出しています。 closeMenuは以下のようにsuperViewからmenuというUIImageViewを削除し、それをnilに設定します。このメソッドは、ビュー内から呼び出されたときに機能しますが、ビューコントローラから呼び出されたときは機能しません。独自のView ControllerからViewのメソッドを呼び出すことはできません
メソッドを呼び出すと、ビューコントローラは、UIImageViewの 'menu'
ビューコントローラにスーパービューからメニューを削除し、それを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を使用せず、すべてをコーディングします。メニューはビュー内で初期化されていますが、View Controllerにはメニューは表示されません。上で編集してメニューのどこに表示するか – John