在iOS 7中,Apple已经改为UIToolbar在其顶部显示1px的发际线.在某些情况下,这在视觉上会分散注意力,并且似乎没有任何公共API可以将其删除.
设置shadowImage不起作用.
我正在寻找一种以相对干净的方式去除发际线的方法,并保持普通的背景模糊.
cir*_*ies 83
如果设置youBar.clipsToBounds = YES,则发线会消失.
希望这有帮助.
[编辑]
对于navigationBar底部发际线,这里的解决方案/sf/answers/1272623131/也很有用.
小智 5
细线边框是工具栏的UIImageView子视图,您可以像这样隐藏它:
for (UIView *subView in [self.toolbar subviews]) {
if ([subView isKindOfClass:[UIImageView class]]) {
// Hide the hairline border
subView.hidden = YES;
}
}
Run Code Online (Sandbox Code Playgroud)
这条线是它的shadowImage.可以通过应用空的UIImage简单地删除它. 根据文档,您还必须设置自定义背景图像:
- (void)viewDidLoad {
[self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc]init] forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = [[UIImage alloc ]init];
}
Run Code Online (Sandbox Code Playgroud)
请注意:如果您需要设置自己的图像,则半透明将不起作用.
| 归档时间: |
|
| 查看次数: |
13477 次 |
| 最近记录: |