У меня есть проект, похожий на пример Apple PageControl. У меня есть UIViewController "PhotoViewController", который содержит UIScrollView и UIToolbar. UIScrollView загружает другой XIB и UIViewController «PhotoScrollViewController».
В PhotoScrollViewController у меня есть UIButton, которая отображает изображение. У меня есть кнопка IBAction для этой кнопки, и я хочу нажать на нее, чтобы показать / скрыть панель инструментов UIToolbar в PhotoViewController.
В PhotoViewController.h у меня есть
@interface PhotoViewController : UIViewController <UIScrollViewDelegate> {
IBOutlet UIToolbar *toolBar;
..
}
@property (nonatomic, retain) UIToolbar *toolBar;
Я попробовал несколько вещей в PhotoScrollViewController, например, импортировал PhotoViewController.h в PhotoScrollViewController.h и добавил его в интерфейс, затем попытался получить к нему доступ через мою функцию, например:
@implementation PhotoScrollViewController
- (IBAction)toggleMenu {
photoViewController.toolBar.hidden = NO;
}
Но это не работает. Я также пытался удалить removeFromSuperView, self.parentViewController и некоторые другие вещи. Я не уверен, как скрыть эту панель инструментов (я тоже пробовал альфа, просто не могу получить доступ к панели инструментов).
Вместо этого я попытался добавить функцию в PhotoViewController, используя toolBar.hidden = YES. Это работает, если я выполняю функцию из PhotoViewController, но не работает, если я получаю к ней доступ из PhotoScrollViewController (с PhotoViewController * photoViewController в .h):
@implementation PhotoScrollViewController
- (IBAction)toggleMenu {
photoViewController.toolBar.hidden = NO;
[photoViewController toggleTopMenu];
[[PhotoViewController alloc] toggleTopMenu];
}
@implementation PhotoViewController
- (IBAction)toggleTopMenu {
toolBar.hidden = NO;
}
Я также попытался вместо этого добавить панель инструментов в PhotoScrollViewController, и я могу переключить ее, но я не могу понять, как сказать основному UIViewController отклонить PhotoViewController ... так, каким бы способом я не атаковал эту проблему, я не знаю как правильно обмениваться данными между UIViewControllers .. и документация, которую я читаю, похоже, следует тому, что я пробовал.