2つの解決策があり、
グローバル メニューを AppDelegate に追加できます。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOption
次に、次のように、グローバル メニューをナビゲーション コントローラー ビューに追加できます。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
self.viewController = [[HomeViewController alloc] initWithNibName:nil bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
self.navigationController.delegate = self.viewController;
self.window.rootViewController = self.navigationController;
// Your Global Menu
UIButton *myButton ...
[self.navigationController.view addSubview:myButton];
[self.window makeKeyAndVisible];
return YES;
}
- BaseViewController を作成し、グローバル ボタンを BaseViewController に追加できます。次に、他のすべてのビューコントローラーが BaseViewController を継承します。したがって、一部のView Controllerにはグローバルメニューがあります。一部のビュー コントローラーがグローバル メニューを必要としない場合は、通常の UIViewController を継承します。
そのような、
#import "GlobalMenuView.h"
@interface BaseViewController : UIViewController
{
UIButton *btnMenu;
GlobalMenuView *globalMenu;
}
@end
次に、グローバルメニューが必要なView Controllerは、
#import "BaseViewController.h"
@interface YourOtherViewController: BaseViewController
{
}
@end