ABNewPersonViewController在push后设置
for (UIView *view in personVC.navigationController.navigationBar.subviews) {
if ([NSStringFromClass([view class]) containsString:@"ContentView"]) {
view.backgroundColor = GlobalGreenColor;
}
}
之后就出现了这种状况:
状态栏居然没有颜色,再一看结构
才知道ContentView仅仅高44。他后面的backgroundView才高64
但是如此写
for (UIView *view in personVC.navigationController.navigationBar.subviews) {
if ([NSStringFromClass([view class]) containsString:@"BackGround"]) {
view.backgroundColor = GlobalGreenColor;
}
}
却没有用。不过我在navigationbar分类中重写的LayoutSubview中background是有用的。但是这样每个viewcontroller初始化时都会执行这个方法,加个类型判断又觉得非常浪费资源。有没有什么办法能直接在ABNewPersonViewController初始化的上下文中直接改变这个background的颜色或高边contentView的高度啊?