5

嘿,我编写了一个类 (A),它继承了一些功能,包括导航按钮的实现。A类既有查看模式又有编辑模式,我只想在编辑模式下显示按钮。到目前为止,我无法删除此按钮,并且我真的不想创建另一个类来进行编辑。

其他类也继承了这个功能,所以我真的不想和父母搞混。

我用来创建按钮的代码如下:

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

[button addTarget:self 
               action:@selector(buttonPressed:) 
     forControlEvents:UIControlEventTouchUpInside];

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

[button setBackgroundImage:buttonImage forState:UIControlStateNormal];
[button setTitle:NSLocalizedString(@"BUTTON", @"") 
            forState:UIControlStateNormal];

LPRBSLabel *buttonLabel = [[LPRBSLabel alloc] initWithStyle:UICustomeButtonTitle];
[button setTitleEdgeInsets:UIEdgeInsetsMake(0.0, 0.0, -5.0, 0.0)];

button.titleLabel.font = buttonLabel.font;
[button setTitleColor:buttonLabel.textColor forState:UIControlStateNormal];
[buttonLabel release];

UIBarButtonItem *barLeftInfoButton = [[UIBarButtonItem alloc] initWithCustomView:button];
self.navigationItem.leftBarButtonItem = barLeftInfoButton;
[barLeftInfoButton release];
4

4 回答 4

14

我设法使用以下方法解决了它:

self.navigationItem.leftBarButtonItem = nil;

我有一个头脑冻结,并在按钮实际创建之前使用上述语句:-(

于 2011-02-28T12:13:47.900 回答
8

将 NavigationItem 的属性“hidesBackButton”设置为 yes 会更容易:

http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UINavigationItem_Class/Reference/UINavigationItem.html#//apple_ref/occ/cl/UINavigationItem

于 2011-05-17T17:55:23.630 回答
0

要考虑的另一个选项是禁用该按钮,直到您希望它起作用。它将是可见的,但会变暗。

self.navigationItem.leftBarButtonItem.enabled = NO;
于 2012-08-23T03:47:51.697 回答
-3

要从导航栏中删除按钮,只需将标签分配给按钮并编写以下代码

[[self.navigationController.navigationBar viewWithTag:0106] removeFromSuperview];
于 2016-06-28T10:30:07.160 回答