对于 iOS6 中的自定义布局,我创建了 UINavigationBar 的子类并覆盖了 drawRect 方法。我在界面生成器中指定了类,因为不是每个 Controller 都需要有这个效果。这也是我不能使用类别的原因。
但是现在使用 iOS7,我想使用默认导航栏而不是覆盖行为。下面的代码不起作用:
-(void)drawRect:(CGRect)rect
{
if([self isOS7]) {
[super drawRect:rect];
}
else {
// custom drawing
}
}
问题是,通过实际定义drawRect,ios7无法正确绘制状态栏下方的导航栏。如果我省略了整个 drawrect,它就可以工作(但是在旧设备下它不起作用!
有什么建议?
最佳答案
你可以解决它,如果你添加一个新的 UIView 作为 subview 并在绘制矩形中执行这些操作。
UITableViewCell drawInRect iOS7
关于在 ios7 中覆盖 drawRect 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18945279/