如何更改UIView顶部边框?

问题描述 投票:1回答:1

我正在运行iOS7并且有一个UINavigation控制器和一个UIStatusBar都是橙色的,它们完美融合,但是如果我在UINavigationController的视图顶部加载一个UIToolbar,它的顶部有一条黑线,如图所示在图像中:

我想知道如何摆脱这个或将其改为白色。

我已将此代码添加到ViewDidLoad中

self.view.layer.borderColor = [UIColor whiteColor].CGColor;
self.view.layer.borderWidth = 0.5f;

这会在视图周围添加一条白线,因此橙色工具栏不会直接到达边缘,因此这不是一个好的解决方案。

ios objective-c uiview uicolor
1个回答
0
投票

我找到了一个解决方法,不确定这是否是最好的做法,也许我可以对它进行一些评论,但这就是我修复它的方法。

myToolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.frame.size.width, 45)];
[myToolBar setTranslucent:NO];
myToolBar.clipsToBounds = YES; // stop the top black line from showing.
UIView *modalViewLine = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.myToolBar.frame.size.width, 0.8)];
modalViewLine.backgroundColor = [UIColor whiteColor];
[myToolBar addSubview:modalViewLine];

最重要的是,使用clipsToBounds可以防止黑色阴影或线条形状出现在UIToolBar上方,然后我添加了一个带有白色背景的UIView,它在UIToolbar的顶部是0.8pxl高。

因此,如果要在当前NavView上方堆叠模态视图,它将如下所示

你走得越深,每个视图添加的行数就越多。为用户提供良好的视觉效果,以便他们知道他们在应用程序中的位置。

© www.soinside.com 2019 - 2024. All rights reserved.