現在のUIView
の親UIView
にアクセスする場合、現在のUIView
で親UIView
のオブジェクトを宣言し、親UIView
オブジェクトから現在のビューのオブジェクトプロパティへ。
これを取り除き、親ビューのメソッドまたはプロパティを直接呼び出す方法はありますか?
私も試してみました(parentView *) self.view.superview
しかし、助けにはならなかった。
このオブジェクトの関数を呼び出すときにエラーが発生します
[UIVIew unrecognized selector......
これをUIView
(UIViewController
ではなく)から直接呼び出す場合は、self.superview
の代わりに self.view.superview
。
@ Naveed:これは、親ビューでも子ビューでも、どのビューでも使用できる共通のコードです。押すボタンの名前と移動したいビューの名前を変更するだけです。たとえば、戻るボタンを押すと、ライブラリビューに移動してこのコードを記述したい-
-(IBAction)backButtonPressed:(id) sender
{
llibraryView *libraryview=[[libraryView alloc] initWithNibName:nil bundle:nil];
libraryview.modalTransitionStyle=UIModalTransitionStyleCoverVertical;
[self presentModalViewController:libraryview animated:YES];
[libraryview release];
}
あなたの問題が解決したかどうか教えてください。
私が考えることができるのは、ViewControllerのビューに追加したViewControllerのメソッドをビューから呼び出したいということです。
ここから2つのオプションがあります。ViewControllerにビューのデリゲートを設定し、[delegate performSelector:]アプローチによってViewControllerのメソッドを呼び出します。
もう1つのアプローチは、ビューのスーパービューにアクセスし、それからコントローラーを取得することです。直接それを行うことはできません。できれば、MVCの目的全体を損なうことになります。
しかし、まだ抜け道があります、ここに行きます:-
IViewからUIViewControllerにアクセスしますか?
希望、これがあなたを助ける。