【问题标题】:LeftBarButtonItem not showing after first launch on iOS 7LeftBarButtonItem 在 iOS 7 上首次启动后未显示
【发布时间】:2013-10-31 21:50:39
【问题描述】:

在我的主视图控制器中,我创建了自定义 leftBarButtonItem

- (void)viewDidLoad {
    [super viewDidLoad];

    RNObserveNotification(@"VTLoginSuccess", @selector(loginSuccess:));

    [self checkIfRoleChanged];


    self.navigationItem.leftBarButtonItem = [self carSelectBarItem];

}

- (UIBarButtonItem *)carSelectBarItem {    

    UIBarButtonItem *item = [self buttonItemWithText:@"     " target:self action:@selector(changeVehicleAction:)];
    VTCustomButton *button = (VTCustomButton *)[item customView];    

    UIImageView *carIcon = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"IconCar.png"]];
    [button addSubview:carIcon];    

    button.titleEdgeInsets = UIEdgeInsetsMake(0, 18.0, 0, 0);
    button.titleLabel.textAlignment = UITextAlignmentLeft;    

    CGRect frame = carIcon.frame;
    frame.origin.x += 8;
    frame.origin.y += 12;
    carIcon.frame = frame;

    self.currentVehicleButton = button;

    return item;

}

它一直有效,直到 iOS 7 出现。在 iOS 7 上,当应用程序首次启动时,按钮根本不显示。但是,当再次构建并启动时,按钮就在那里并且可以正常工作。 知道如何解决这个问题吗?

【问题讨论】:

  • 尝试移动 self.navigationItem.leftBarButtomItem = [self carSelectBarItem];在 -(void)viewWillAppear

标签: iphone ios ios7 uibarbuttonitem uinavigationitem


【解决方案1】:

我不确定为什么这不起作用。尝试这样做:

- (UIBarButtonItem *)carSelectBarItem {
UIButton *button = [[UIButton alloc] init];

[button setImage:[UIImage imageNamed:@"IconCar.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(reloadUI)
    forControlEvents:UIControlEventTouchUpInside];
[button setFrame:CGRectMake(0, 0, 30, 30)];

UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc]
                           initWithCustomView:button];

return barButtonItem;
}

然后在你的 viewDidLoad 方法中:

[self.navigationItem setLeftBarButtonItem:[self carSelectBarItem]];

您可能需要将帧从 (0, 0, 30, 30) 更改

【讨论】:

    【解决方案2】:

    原来问题出在我的控制器堆栈中,解决了我的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      • 2015-09-20
      • 1970-01-01
      • 2014-07-09
      • 1970-01-01
      • 2015-12-03
      • 1970-01-01
      相关资源
      最近更新 更多