iOS 隐藏导航栏左右两边的按钮

关于如何隐藏iOS导航栏按钮折腾了好久,终于找到了解决方案

1、必须使用自定义view作为导航栏上的item

[UIBarButtonItem alloc]initWithCustomView:<#(nonnull UIView *)#>
+ (instancetype)itemWithTitle:(NSString *)title font:(UIFont *)font size:(CGSize)size target:(id)target action:(SEL)action
{
    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    [button setTitle:title forState:UIControlStateNormal];
    [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    button.titleLabel.font = font;
    button.zy_size = size;
    [button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
    return [[self alloc] initWithCustomView:button];
}

2、让customView隐藏

weakSelf.navigationItem.rightBarButtonItem.customView.hidden = YES;
weakSelf.navigationItem.leftBarButtonItem.customView.hidden = YES;

你可能感兴趣的:(iOS 隐藏导航栏左右两边的按钮)