我有一个应用html" target="_blank">程序,有时需要其导航栏与内容融合。
有谁知道如何摆脱或改变这个烦人的小酒吧的颜色?
在下面的图片中,我遇到的情况-我正在谈论“ Root View Controller”下方的1px高度线
使用.shadowColor
物业
如果此属性为nil或包含纯色,则该条不显示阴影
例如:
let navigationBar = navigationController?.navigationBar
let navigationBarAppearence = UINavigationBarAppearance()
navigationBarAppearence.shadowColor = .clear
navigationBar?.scrollEdgeAppearance = navigationBarAppearence
为此,您应该设置自定义阴影图像。但是要显示阴影图像,您还需要设置自定义背景图像,请引用Apple文档中的内容:
为了显示自定义阴影图像,还必须使用setBackgroundImage(_:for
:)方法设置自定义背景图像。如果使用默认背景图像,则无论此属性的值如何,都将使用默认阴影图像。
所以:
let navigationBar = navigationController!.navigationBar
navigationBar.setBackgroundImage(#imageLiteral(resourceName: "BarBackground"),
for: .default)
navigationBar.shadowImage = UIImage()
上面是隐藏它的唯一“官方”方式。 不幸的是,它消除了bar的半透明性。
您有以下选择:
navigationBar.barTintColor = UIColor.redColor()
navigationBar.isTranslucent = false
navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationBar.shadowImage = UIImage()
创建充满色彩的小背景图像并使用它。
使用下面描述的“ hacky”方法。它还将使条保持半透明。
为了保持透明度,您需要另一种方法,它看起来像hack,但效果很好。我们要消除的阴影是UIImageView
下方的细线UINavigationBar
。我们可以找到它,并在需要时隐藏/显示它。
以下说明假定您仅需要将发际线隐藏在UINavigationController
层次结构的一个控制器中。
声明实例变量:
private var shadowImageView: UIImageView?
添加找到该阴影的方法(细线) UIImageView:
private func findShadowImage(under view: UIView) -> UIImageView? {
if view is UIImageView && view.bounds.size.height <= 1 {
return (view as! UIImageView)
}
for subview in view.subviews {
if let imageView = findShadowImage(under: subview) {
return imageView
}
}
return nil
}
viewWillAppear/viewWillDisappear
方法: override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if shadowImageView == nil {
shadowImageView = findShadowImage(under: navigationController!.navigationBar)
}
shadowImageView?.isHidden = true
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
shadowImageView?.isHidden = false
}
相同的方法也适用于UISearchBar
发际线,以及(几乎)您需要隐藏的其他所有东西:)
非常感谢@Leo Natan的初衷!
我的应用程序有问题。我有一个底部导航视图,包含3个不同的片段,尽管目前只有主要的内容。当我试图从左侧的两个片段中的一个移动到主视图时,问题就出现了,即当底部导航视图被隐藏时。我附上了主代码。 PD:我有25.3.1版本的所有库(如果有用的话)。 感谢您的关注。 activity\u main。xml 主要活动。Java语言 我也给你添加了两张图片。 Ofertas片段 主片段
问题内容: 单击Dialog_01的按钮 将隐藏 其窗口并打开Dialog_02。单击Dialog_02的按钮应 关闭 其窗口并 取消隐藏Dialog_01。如何实现呢? 问题答案: 将第一个窗口作为第二个窗口的父窗口: 如果您希望每次都显示相同的对话框,请执行以下操作: 和子窗口,而不是关闭它。
我有一个代码与许多评论,我如何可以隐藏这些,但没有删除,我需要他们之后。
我有一个非常简单的窗口,它包含一个按钮:。 在main函数中,我设置了我的并且在按钮监听器中,我想关闭窗口,所以我将可见性设置为false:之后,我执行以防止在多次运行程序时可能出现的内存泄漏。 我有两个问题: 在上述情况下,我真的需要吗? 如果我有这个作为
问题内容: 有人可以告诉我如何始终隐藏视图吗? 我正在使用隐藏视图,但是当重新打开应用程序时,我必须重新隐藏视图。我希望单击按钮时始终隐藏视图,直到清除应用程序数据或卸载为止。谢谢! 问题答案: 没有永久隐藏的选项,但是您可以通过这种方式实现 1.删除具体的 您必须将状态保存到了像永久存储 共享首选项/数据库 共享首选项示例 1.将值存储在: 2.从中获取价值:
问题内容: 我需要自定义JSlider的旋钮。我需要将自己的旋钮图像放在Jslider的默认旋钮上。问题是当前有两个旋钮在响应。一个是我自己的旋钮,另一个是默认旋钮。请告诉我如何隐藏默认旋钮或任何其他解决方案。 下面的代码用于执行此操作。 感谢Jyoti 问题答案: 要隐藏旋钮,请使用空白图标覆盖UIManager的属性,如下所示: