我在 iOS7 上的 UISplitviewController 中看到导航栏之间有一个白色分隔线。我找不到将其更改为黑色的方法。我将 splitViewController 视图的背景颜色更改为黑色,但没有运气。
问问题
4125 次
6 回答
6
只要您的屏幕处于横向状态,您就可以将其用作解决方法:
UIView *coverView = [[UIView alloc] initWithFrame:CGRectMake(320, 0, 1, 64)];
[coverView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"black_pixel.png"]]];
[splitViewController.view addSubview:coverView];
于 2013-10-31T08:16:27.503 回答
5
在引擎盖下,UILayoutContainerView
屏幕顶部有一个,位于主视图和详细视图下方。要更改导航栏之间的分隔符颜色,您只需更改该视图的背景颜色。
在 Swift 中,在您的 SplitViewController 子类中,尝试以下操作:
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
if let potentialSeparatorView = view.subviews.first as? UIView {
if round(potentialSeparatorView.bounds.height) == 64 {
potentialSeparatorView.backgroundColor = UIColor(red:0.20, green:0.55, blue:0.83, alpha:1)
}
}
}
于 2015-06-26T20:40:14.950 回答
1
像这样使用容器视图添加您UISplitViewController
的额外内容:ViewController
UINavigationBar
然后在 master 和 detail 中隐藏s,在额外的 UIViewControllerviewControllers
中将只有一个没有白线。UINavigationBar
于 2017-09-29T07:05:11.867 回答
0
尝试这个:
if ( floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1 ) {
splitViewController.view.backgroundColor = [UIColor blackColor];
}
于 2014-01-28T10:57:24.710 回答
0
利用
splitViewController?.view.backgroundColor = UIColor.clear
在您的 tableviewcontroller(主视图控制器)中,您也可以设置所需的颜色。
于 2017-10-10T03:23:00.840 回答
-1
您可以执行以下操作来消除该白线:
self.splitViewController.view.backgroundColor = [UIColor blackColor];
for (UIView *subView in self.splitViewController.view.subviews) {
subView.backgroundColor = [UIColor blackColor];
}
如果您没有直接访问它的自定义方法来获取 splitViewController:
UIViewController *_splitViewController = self.parentViewController;
while (![_splitViewController isKindOfClass:[UISplitViewController class]]) {
_splitViewController = _splitViewController.parentViewController;
}
_splitViewController.view.backgroundColor = [UIColor blackColor];
for (UIView *subView in ((UISplitViewController *)_splitViewController).view.subviews) {
subView.backgroundColor = [UIColor blackColor];
}
于 2014-02-20T23:27:40.190 回答