Вызов функции из поповера - PullRequest
4 голосов
/ 18 марта 2010

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

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

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

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

Есть идеи?

1 Ответ

1 голос
/ 22 марта 2010

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

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

...