web-dev-qa-db-ja.com

現在のビューの親ビューへのアクセス-iOS

現在のUIViewの親UIViewにアクセスする場合、現在のUIViewで親UIViewのオブジェクトを宣言し、親UIViewオブジェクトから現在のビューのオブジェクトプロパティへ。

これを取り除き、親ビューのメソッドまたはプロパティを直接呼び出す方法はありますか?

私も試してみました(parentView *) self.view.superviewしかし、助けにはならなかった。

このオブジェクトの関数を呼び出すときにエラーが発生します

[UIVIew unrecognized selector......
39
Naveed Rafi

これをUIViewUIViewControllerではなく)から直接呼び出す場合は、self.superview の代わりに self.view.superview

77
omz

@ Naveed:これは、親ビューでも子ビューでも、どのビューでも使用できる共通のコードです。押すボタンの名前と移動したいビューの名前を変更するだけです。たとえば、戻るボタンを押すと、ライブラリビューに移動してこのコードを記述したい-

-(IBAction)backButtonPressed:(id) sender
 {
        llibraryView *libraryview=[[libraryView alloc] initWithNibName:nil bundle:nil];
    libraryview.modalTransitionStyle=UIModalTransitionStyleCoverVertical;
    [self presentModalViewController:libraryview animated:YES]; 
    [libraryview release];
 }

あなたの問題が解決したかどうか教えてください。

0

私が考えることができるのは、ViewControllerのビューに追加したViewControllerのメソッドをビューから呼び出したいということです。

ここから2つのオプションがあります。ViewControllerにビューのデリゲートを設定し、[delegate performSelector:]アプローチによってViewControllerのメソッドを呼び出します。

もう1つのアプローチは、ビューのスーパービューにアクセスし、それからコントローラーを取得することです。直接それを行うことはできません。できれば、MVCの目的全体を損なうことになります。

しかし、まだ抜け道があります、ここに行きます:-

IViewからUIViewControllerにアクセスしますか?

希望、これがあなたを助ける。

0
c4code