Apple の PageControl の例に似たプロジェクトがあります。UIScrollView と UIToolbar を含む UIViewController "PhotoViewController" があります。UIScrollView は、別の XIB と UIViewController "PhotoScrollViewController" を読み込みます。
PhotoScrollViewController には、画像を表示する UIButton があります。このボタンに IBAction があり、クリックして PhotoViewController の UIToolbar を表示/非表示にしたいと考えています。
PhotoViewController.h には
@interface PhotoViewController : UIViewController <UIScrollViewDelegate> {
IBOutlet UIToolbar *toolBar;
..
}
@property (nonatomic, retain) UIToolbar *toolBar;
PhotoScrollViewController.h に PhotoViewController.h をインポートしてインターフェイスに追加し、次のような関数を介してアクセスしようとするなど、PhotoScrollViewController でいくつかのことを試しました。
@implementation PhotoScrollViewController
- (IBAction)toggleMenu {
photoViewController.toolBar.hidden = NO;
}
しかし、これはうまくいきません。removeFromSuperView、self.parentViewControllerなども試しました。このツールバーを非表示にする方法がわかりません (アルファ版も試しましたが、ツールバーにまったくアクセスできません)。
代わりに、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 の間で適切に..そして私が読んだドキュメントは、私が試したことに従っているようです。