1

您好,我已经检查了一些帖子,但找不到有关我的问题的任何有用信息。我已经成功添加了一个按钮,但有时后退按钮会出现在顶部。

我的代码:

self.navigationItem.leftBarButtonItem = nil;
self.navigationItem.backBarButtonItem = nil;
[self.navigationItem setHidesBackButton:YES];

UIButton *btn = [UIButton backButton];
[btn addTarget:self action:@selector(popView) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *barBtn = [[UIBarButtonItem alloc] initWithCustomView:btn];
self.navigationItem.leftBarButtonItem = barBtn;
[barBtn release];

结果:

在此处输入图像描述

所以也许有人有一些类似的问题或者知道我做错了什么?

提前致谢!

4

4 回答 4

1

嗨,lukas,您可以使用下面的代码,因为它对我来说很好......

UINavigationBar *bar; UIImage *buttonImage = [UIImage imageNamed:@"bak.png"]; UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

    [button setImage:buttonImage forState:UIControlStateNormal];
    [button addTarget:self action:@selector(popView) forControlEvents:UIControlEventTouchUpInside];

    button.frame = CGRectMake(0, 0, buttonImage.size.width, buttonImage.size.height);

    customBarItem = [[UIBarButtonItem alloc] initWithCustomView:button];
    self.navigationItem.leftBarButtonItem=customBarItem;
    [bar addSubview:button];

如果您需要任何澄清,请告诉我......

于 2012-05-07T08:27:24.297 回答
1

您需要更改一些代码...我在这里放了一些代码。

   UIButton *leftButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
            [leftButton setUserInteractionEnabled:NO];
            [leftButton setImage:[UIImage imageNamed:@"leftbutton.png"] forState:UIControlStateNormal];    
            leftButton.frame = CGRectMake(0, 0, 30, 30);
            [leftButton addTarget:self action:@selector(youraction:) forControlEvents:UIControlEventTouchUpInside];        
            self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:leftButton];

       [leftButton release];

希望,这可以帮助你..

于 2012-05-07T08:04:00.483 回答
1

self.navigationItem.hidesBackButton = 是;

应该能解决你的问题

于 2012-05-07T08:04:10.967 回答
0

最后我找到了它是什么。导航控制器和呈现视图控制器存在一些问题,所以在修复它们之后,这个错误就消失了。

于 2013-05-21T07:06:44.817 回答