删除视图和搜索栏之间的边框

Idr*_*ris 12 xcode ios swift

所以在Xcode中我正在尝试创建一个无缝搜索栏.所以我试图复制这样的东西

在此输入图像描述

请注意状态栏与搜索栏的颜色相同.现在这是我的方法的结果.

在此输入图像描述

我做的是添加一个视图以掩盖蓝色背景的默认状态栏.然后我添加了一个搜索栏并将其背景更改为蓝色.出于某种原因,我最终在两者之间形成了黑色边框,这破坏了"无缝"设计.关于如何在Swift中删除黑色边框的任何想法?

Oxc*_*cug 33

适用于iOS 7+:

searchBar.backgroundImage = UIImage()
Run Code Online (Sandbox Code Playgroud)

否则,这适用于所有iOS版本:

searchBar.layer.borderWidth = 1
searchBar.layer.borderColor = thatBlueColor.CGColor
Run Code Online (Sandbox Code Playgroud)


小智 5

在 Xcode 8.3 和 Swift 3 中

  1. 创建一个从您的搜索栏到您的 ViewController 的出口(在这个例子中我称之为我的 searchBarOutlet)。

  2. 在 viewDidLoad 下面插入以下内容。

    self.searchBarOutlet.backgroundImage = UIImage()

您应该具备以下条件:

    override func viewDidLoad() {
    super.viewDidLoad()

         self.searchBarOutlet.backgroundImage = UIImage()
Run Code Online (Sandbox Code Playgroud)

当您运行您的应用程序时,线条将消失(它们仍将在故事板上可见)。


Viv*_*vek 5

斯威夫特 4

searchBar.barTintColor = UIColor.white
searchBar.setBackgroundImage(UIImage.init(), for: UIBarPosition.any, barMetrics: UIBarMetrics.default)
Run Code Online (Sandbox Code Playgroud)

示例图像

在此处输入图片说明

Upate 导航栏和搜索栏背景颜色的示例代码:

导航栏颜色

self.navigationController?.navigationBar.barTintColor = .blue
Run Code Online (Sandbox Code Playgroud)

搜索栏颜色

searchBarProperty.backgroundColor = self.navigationController?.navigationBar.barTintColor
Run Code Online (Sandbox Code Playgroud)

注意:导航栏和搜索栏颜色必须相同。

带有蓝色导航栏和蓝色搜索栏的示例图片 在此处输入图片说明