質問

さて、メインビューとその他の優れた機能からポップオーバーを作成しました。しかし、ポップオーバー内のボタンが押されたときに、ポップオーバーがメインビューのアクションを呼び出すようにしたいと考えています。

MainView *mainView = [[MainView alloc] initWithNibName:@"MainView" bundle:nil]; [mainView doStuff];

「dostuff」関数は、ビュー内のいくつかの要素を変更します。たとえば、ツールバーの色が変更されるとします。print コマンドを入力すると、print コマンドが実行されます。しかし、何らかの理由でツールバーの色が変わりません。

  • MainViewのヘッダーをポップオーバーにインポートしました。
  • ポップオーバーで MainView の @class を実行しました。
  • doStuff は MainView のヘッダーで宣言されます。
  • IBOutlets も宣言され、接続されます。

何か案は?

役に立ちましたか?

解決

我々はポップオーバーが示されているビュー(ビューコントローラ)にチェックするために使用することができる直接的な方法を持っていないことがよく、その残念。私はtabbasedアプリケーションでやっている事があります:

New_iPadAppDelegate *appDel = (New_iPadAppDelegate *)[[UIApplication sharedApplication] delegate];
    NSArray *viewConts = [(UINavigationController *)[[appDel tabBarController] selectedViewController] viewControllers];
    MainViewController *viewController =  (MainViewController *)[viewConts lastObject];
    if([[viewController popoverController] isPopoverVisible]){
        [viewController doStuff];
    }

この情報がお役に立てば幸い、

私は、これは誰かが周りに仕事を考案した場合、Appleはこの問題について考えて、または期待して、最善の方法ではありません知っています。

おかげで、

Madhup

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top