我尝试在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;
}
并且没有任何更改,我在界面构建器中设置了自定义类。我该怎么办?
答案 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];
}