- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有一个应用有时需要其导航栏才能与内容融为一体。
有谁知道如何摆脱这个烦人的小酒吧或改变它的颜色?
在下图的情况下,我说的是“ Root View Controller ”下方的 1px 高度线
最佳答案
使用 .shadowColor
属性
If this property is nil or contains the clear color, the bar displays no shadow
例如:
let navigationBar = navigationController?.navigationBar
let navigationBarAppearance = UINavigationBarAppearance()
navigationBarAppearance.shadowColor = .clear
navigationBar?.scrollEdgeAppearance = navigationBarAppearance
为此,您应该设置自定义阴影图像。但是要显示阴影图像,您还需要设置自定义背景图像,引用 Apple 的文档:
For a custom shadow image to be shown, a custom background image mustalso be set with the setBackgroundImage(_:for:) method. If the defaultbackground image is used, then the default shadow image will be usedregardless of the value of this property.
所以:
let navigationBar = navigationController!.navigationBar
navigationBar.setBackgroundImage(#imageLiteral(resourceName: "BarBackground"),
for: .default)
navigationBar.shadowImage = UIImage()
以上是隐藏它的唯一“官方”方式。不幸的是,它消除了条形图的半透明性。
你有这些选择:
纯色,无半透明:
navigationBar.barTintColor = UIColor.redColor()
navigationBar.isTranslucent = false
navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationBar.shadowImage = UIImage()
创建填充颜色的小背景图像并使用它。
使用下面描述的“hacky”方法。它还将保持条形半透明。
要保持半透明,您需要另一种方法,它看起来像一个 hack,但效果很好。我们试图移除的阴影是 UINavigationBar
下某处的细线 UIImageView
。我们可以找到它并在需要时隐藏/显示它。
以下说明假设您只需要在 UINavigationController
层次结构的一个 Controller 中隐藏细线。
声明实例变量:
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 的原创创意!
关于ios - 如何隐藏 UINavigationBar 1px 底线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19226965/
我正在上 codeschool,他们告诉我: SORRY, TRY AGAIN transform must be defined last, after the browser prefix sty
我正在使用 SCSS 更改 bootstrap 4 的样式以创建我自己的样式,但是当我编译 SCSS 时出现此错误: { "status": 1, "file": "H:/!WEBSITE/m
在将作为 photoshop 文件给出的网页设计转换为 html+css 时,我对字体大小感到困惑。如下图所示,photoshop 中的 30 px 不等于其他 Windows 程序(Mac 或其他程
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
在我当前的代码中,ul 一直放在页面底部,超过了我的预定义框。 我尝试使用 position:fixed 和 bottom:0 .box { width: 900px; height:
我在 photoshop 中有一个模型,其字体为 60px。我将浏览器中的字体设置为相同的 60px 大小,但浏览器中的字体较小。知道这是为什么吗? 最佳答案 您在 Photoshop 中为您的文本启
我想知道是否有可能仅使用 CSS 获取页面的浏览器/视口(viewport)像素尺寸并将其显示在页面上(最好使用“内容”样式)。我正在为我的一个元素(完全用 CSS 构建)这样做。我知道使用 JS 很
我正在尝试将可变数量的像素计算为与密度无关的像素,反之亦然。 这个公式 (px to dp): dp = (int)(px/(displayMetrics.densityDpi/160)); 不适用于
我在一个带有 1px 边框的容器中有两个 div。我希望每个 div 按宽度正好占据容器的一半,所以我尝试使用 CSS3 的 calc函数从总宽度 (50%) 中减去预定的像素值(2px,div 的每
我正在使用 em 但在嵌套元素中遇到问题所以我决定使用 % 作为 yui建议。 To change the size of a font, always use percentages as the
我有一个元素容器。我想为容纳元素的容器设置最大高度,但如果元素没有填满整个尺寸,则让容器降低其高度。是否可以通过 CSS 实现? 最佳答案 也许使用height: auto。请显示您的 CSS 和 H
我刚刚开始使用 sprites 来减少 HTTP 请求,我在将处理悬停动画的旧脚本转换到新系统时遇到了一些问题。我真的不想为每个按钮设置一个单独的功能,因为这很痛苦,尤其是按钮的数量,即使复制和粘贴也
我正在从头开始创建一个 HTML 页面,并在其中动态放置值,然后将其显示在 WebView 中。 我正在尝试在 WebView(作为 HTML)中复制 ActionBar(出现在应用程序的其他 Act
我希望“蓝色”容器始终为 70 像素高,而之前的“绿色”div 在使用 javascript 调整 div 大小时始终最大化可用高度。 我已经尝试了一段时间,但没有找到合适的解决方案。我们将不胜感激。
我在 Quora 上阅读了以下内容: By setting the font-size of the (which by default its 16px) to 62.5%, setting em
我在关于 http://developer.android.com/guide/practices/screens_support.html 的一些不幸的歧义中迷失了方向,而且我找不到澄清问题的 st
以前做移动端项目的时候都是用rem来做适配,现在基本上都是通过viewport单位来做。 postcss-px-to-viewport就是一个将px单位转换为视口单位的 (vw, vh, vmi
有什么区别: border-right: 1px dotted #CCCCCC; 和: border-right: 1 px dotted #CCCCCC; 有没有? 第二个不正确吗?你需要在 px
我想创建(某种)全 Angular slider ,其中我有一个带有多个子部分的柔性包装器。每个部分100vw排成一排。现在我想每次单击按钮时都将 Flex-wrapper 的 margin-left
在这样的代码中: var a = e.clientX; var b = document.getElementById('someElement').style.left; var z = a - b
我是一名优秀的程序员,十分优秀!