0

我想做一个干净的白色设计。所以,我将tintColor属性设置为,但是和whiteColor下有这些暗线。UINavigationBarUISearchBar

有人知道,如何去除暗线或如何改变颜色?

4

3 回答 3

3

按类别向 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]]];
于 2013-12-03T15:59:35.470 回答
1

这就是我所做的,并且似乎有效,这是此链接的进一步发展。我将显式宽度声明更改为动态声明,这样无论您是否更改视图大小,它都会是视图的大小:

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 的边界线

于 2013-04-11T17:38:58.420 回答
0

从 iOS 7 UINavigationBar 有一个 shadowImage 属性,您可以将其设置为 nil。

于 2013-12-03T16:37:09.880 回答