嘿,我写了一个继承了一些功能的类(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];
答案 0 :(得分:14)
我设法使用:
来解决它self.navigationItem.leftBarButtonItem = nil;
我有一个心灵冻结,并且在按钮实际创建之前使用了上述语句: - (
答案 1 :(得分:8)
将NavigationItem的属性“hidesBackButton”设置为yes会更容易:
答案 2 :(得分:0)
要考虑的另一个选项是禁用按钮,直到您希望它起作用。它会显而易见,但会变暗。
self.navigationItem.leftBarButtonItem.enabled = NO;
答案 3 :(得分:-2)
要从导航栏中删除按钮,只需将标记分配给按钮并编写以下代码
[[self.navigationController.navigationBar viewWithTag:0106] removeFromSuperview];