自定义导航栏错误

时间:2014-06-30 15:44:53

标签: ios xcode uinavigationbar

我尝试在iOS 7中自定义导航栏。我创建了自定义类,它是UINavigationBar的子类。在那里,我做了以下更改:

- (instancetype)initWithFrame:(CGRect)frame {
     self = [super initWithFrame:frame];
    if (self) {
        [self setBarTintColor:[UIColor blackColor]];
        [self setTranslucent:YES];
        [self setAlpha:0.6f];
    }
return self;
}

并且没有任何更改,我在界面构建器中设置了自定义类。我该怎么办?

2 个答案:

答案 0 :(得分:0)

如果您使用storyboard创建UINavigationBar,请尝试覆盖initWithCoder,而不是initWithFrame。 在这种情况下尝试将断点设置为方法并检查它,此方法至少被调用

答案 1 :(得分:0)

如果您在IB中使用自定义视图,您还应该覆盖awakeFromNib并在那里执行一些初始化。在您的代码中,它可能是:

- (instancetype)initWithFrame:(CGRect)frame {
     self = [super initWithFrame:frame];
     if (self) {
        [self setup];
    }
    return self;
}

-(void)awakeFromNib {
    [self setup];
}

-(void)setup {
     [self setBarTintColor:[UIColor blackColor]];
     [self setTranslucent:YES];
     [self setAlpha:0.6f];
}