【问题标题】:How to hide default navigation bar button and add custom button in it?如何隐藏默认导航栏按钮并在其中添加自定义按钮?
【发布时间】:2011-03-17 13:25:27
【问题描述】:

我有一个基于导航的应用程序,我想在其中隐藏默认导航 它显示在左侧,我想添加我自己的自定义按钮。我编写了以下 2 个代码。

代码示例 1:

- (void)viewDidLoad {
    appDelegate=[(FoodAppDelegate *)[UIApplication sharedApplication]delegate];
UIButton *button =  [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"Volunteers_back.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(back:) forControlEvents:UIControlEventTouchUpInside];
[button setFrame:CGRectMake(0, 0, 86, 30)];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];        

但这会显示默认导航按钮。

第二个代码示例:

self.navigationItem.hidesBackButton=YES;
    UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithTitle:@"DontWorryAboutThis" style:UIBarButtonItemStylePlain target:self action:@selector(back:)];
    [barButton setImage:[UIImage imageNamed:@"Volunteers_back.png"]];
    [self.navigationItem setLeftBarButtonItem:barButton];

这个显示按钮默认和自定义相互重叠。 有谁知道这里的问题是什么?或任何示例代码来实现这一点?

【问题讨论】:

    标签: iphone objective-c uinavigationbar uinavigationitem uinavigationcontroller


    【解决方案1】:

    您不必隐藏后退按钮。如果您替换 leftBarButtonItem,它应该覆盖那里的任何按钮。我使用此代码,并且仅此代码在我的几个应用程序中完成此操作。

    UIBarButtonItem *btnCancel =
    [[UIBarButtonItem alloc] initWithTitle: @"Cancel"
                                     style: UIBarButtonItemStylePlain
                                    target: self
                                    action: @selector(actionButtonCancel)];
    self.navigationItem.leftBarButtonItem = btnCancel;
    [btnCancel release];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-03
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多