我有一个类似于 Apple 的 PageControl 示例的项目。我有一个 UIViewController “PhotoViewController”,它包含一个 UIScrollView 和一个 UIToolbar。UIScrollView 加载另一个 XIB 和 UIViewController “PhotoScrollViewController”。
在 PhotoScrollViewController 中,我有一个显示图像的 UIButton。我在这个按钮上有一个 IBAction,我想点击它来显示/隐藏 PhotoViewController 中的 UIToolbar。
在 PhotoViewController.h 我有
@interface PhotoViewController : UIViewController <UIScrollViewDelegate> {
IBOutlet UIToolbar *toolBar;
..
}
@property (nonatomic, retain) UIToolbar *toolBar;
我在 PhotoScrollViewController 中尝试了一些东西,例如在 PhotoScrollViewController.h 中导入 PhotoViewController.h 并将其添加到界面中,然后尝试通过我的函数访问它,例如:
@implementation PhotoScrollViewController
- (IBAction)toggleMenu {
photoViewController.toolBar.hidden = NO;
}
但这不起作用。我也尝试过 removeFromSuperView、self.parentViewController 和其他一些东西。我不知道如何隐藏这个工具栏(我也试过 alpha,我根本无法访问工具栏)。
我尝试使用 toolBar.hidden = YES 向 PhotoViewController 添加一个函数。如果我从 PhotoViewController 执行该函数,则此方法有效,但如果我从 PhotoScrollViewController 访问它(在 .h 中使用 PhotoViewController *photoViewController),则它不起作用:
@implementation PhotoScrollViewController
- (IBAction)toggleMenu {
photoViewController.toolBar.hidden = NO;
[photoViewController toggleTopMenu];
[[PhotoViewController alloc] toggleTopMenu];
}
@implementation PhotoViewController
- (IBAction)toggleTopMenu {
toolBar.hidden = NO;
}
我也尝试将工具栏添加到 PhotoScrollViewController,我可以切换它,但我不知道如何告诉主 UIViewController 关闭 PhotoViewController ......所以无论我以哪种方式解决这个问题,我都不知道如何沟通UIViewControllers 之间正确.. 并且我阅读的文档似乎遵循我尝试过的内容。