ナビゲーションバーに追加したいカスタムボタンがあります。これが私がこれまでに持っているものですRootViewController
(これは継承しUIViewController
、UINavigationController
はを介して追加されますAppDelegate
):
でviewDidLoad
:
UIBarButtonItem *share = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"icon"] style:UIBarButtonItemStylePlain target:self action:@selector(share:)];
self.navigationController.navigationItem.rightBarButtonItem = share;
これが私のUINavigationController
設定方法です:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
UIViewController *rootViewController = [[RootViewController alloc] initWithNibName:nil bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
[navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbar"] forBarMetrics:UIBarMetricsDefault];
self.window.rootViewController = navigationController;
[self.window makeKeyAndVisible];
return YES;
}
なぜこれが機能しないのですか?
編集:
に置き換えself.navigationController.navigationItem.rightBarButtonItem
てから動作しましたself.navigationItem.rightBarButtonItem
。何故ですか?私のrootviewcontrollerはタイプであり、を介してUIViewController
アクセスする必要があります。この場合は何ですか?navigationItems
navigationController
navigationController