UIBarButton不会出现在导航栏上 - iOS

时间:2014-05-28 07:53:32

标签: objective-c uinavigationbar uibarbuttonitem

我在导航栏中添加了两个UIBarButtons。令人惊讶的是,左按钮完美运行并出现在左侧。但是通过使用相同的方法,右键不会出现。它在视图加载时出现但随后消失。

以下是我正在使用的代码:

SWRevealViewController *revealController = [self revealViewController];
[self.navigationController.navigationBar addGestureRecognizer:revealController.panGestureRecognizer];

UIBarButtonItem *revealButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"reveal-icon.png"]
                                                                     style:UIBarButtonItemStyleBordered target:revealController action:@selector(revealToggle:)];

self.navigationItem.leftBarButtonItem = revealButtonItem;
[self.navigationItem.leftBarButtonItem setTintColor:[UIColor whiteColor]];

UIBarButtonItem *rightRevealButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"cashcoin.png"]
                                                                          style:UIBarButtonItemStyleBordered target:revealController action:@selector(rightRevealToggle:)];

self.navigationItem.rightBarButtonItem = rightRevealButtonItem;
[self.navigationItem.rightBarButtonItem setTintColor:[UIColor whiteColor]];

我正在使用SWRevealViewController进行手势识别。

1 个答案:

答案 0 :(得分:0)

  • 再次检查您的代码,您应该在viewDidLoad
  • 中设置条形项目
  • 您可能会在rightBarItemviewWillAppear中将viewDidAppear设置为nil,因为您提到该按钮会出现,然后在屏幕加载时消失。
  • 交换按钮,即从左到右,反之亦然。

我希望您的问题能得到解决。