我想做一个干净的白色设计。所以,我将tintColor
属性设置为,但是和whiteColor
下有这些暗线。UINavigationBar
UISearchBar
有人知道,如何去除暗线或如何改变颜色?
我想做一个干净的白色设计。所以,我将tintColor
属性设置为,但是和whiteColor
下有这些暗线。UINavigationBar
UISearchBar
有人知道,如何去除暗线或如何改变颜色?
按类别向 UIImage 添加方法
+ (UIImage *)imageWithColor:(UIColor *)color {
CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return theImage;
}
并设置
[self.navigationController.navigationBar setShadowImage:[UIImage imageWithColor:[UIColor whiteColor]]];
这就是我所做的,并且似乎有效,这是此链接的进一步发展。我将显式宽度声明更改为动态声明,这样无论您是否更改视图大小,它都会是视图的大小:
UIView *overlayView = [[UIView alloc] initWithFrame:CGRectMake(0, 43, self.view.frame.size.width, 1)];
[overlayView setBackgroundColor:[UIColor whiteColor]];
[navBar addSubview:overlayView]; // navBar is your UINavigationBar instance
[overlayView release];
我在这里找到了东西: 如何移除 UINavigatonItem 的边界线
从 iOS 7 UINavigationBar 有一个 shadowImage 属性,您可以将其设置为 nil。