Вопрос: Функция вызова от popover


Хорошо, поэтому я сделал popover с моего основного вида и всего этого хорошего материала. Но я хочу, чтобы мой popover вызывал действие в моем основном представлении, когда нажата кнопка внутри popover.

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

Функция «dostuff» изменяет некоторые элементы в представлении. Например, цвет панели инструментов должен быть изменен. Я поместил команду печати и выполнил команду печати. Но по какой-то причине панель инструментов не изменит цвет.

  • Я импортировал заголовок MainView в popover.
  • Я сделал @class thingy для MainView в моем popover.
  • doStuff объявляется в заголовке MainView.
  • IBOutlets также объявлены и подключены.

Есть идеи?


4


источник


Ответы:


Ну его разочарование, что у нас нет прямого метода, который может быть использован для проверки, в каком представлении (контроллер просмотра) отображается popover. То, что я делаю в табулированном приложении:

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];
    }

Надеюсь это поможет,

Я знаю, что это не лучший способ, надеясь, что яблоко подумает об этой проблеме, или если кто-то разработал работу.

Спасибо,

Madhup


1