如何使用 Swift 将搜索栏移动到导航栏?

Rai*_*Run 5 uisearchbar navigationcontroller navigationbar ios swift

所以我想知道如何将我的应用程序中的搜索栏(当前显示在导航栏下方)移动到导航栏中。

现在,我有一个名为 makeSearchBar() 的函数,我在 viewDidLoad() 中调用它来制作搜索栏。没有故事板或 xib 文件。我想去掉导航栏上的标题,用搜索栏代替。但是,当我使用其他用户问题中给出的方法时,搜索栏要么消失了,要么保持在原处。

在此处输入图片说明

这是搜索栏的代码:

override func viewDidLoad() {
        super.viewDidLoad()
        makeSearchBar()
}

func makeSearchBar() {
        searchBar = UISearchBar()
        searchBar.delegate = self
        searchBar.frame = CGRect(x: 0, y: 0, width: screenSize.width, height: 60)

       // searchBar.sizeToFit()

       //TRYING TO ADD TO NAV BAR
       navigationItem.titleView = searchBar

        searchBar.placeholder = "Search"

        view.addSubview(searchBar)
}
Run Code Online (Sandbox Code Playgroud)

我还想知道如何使应该使电池信息具有不同背景颜色的顶行。

如果您有任何建议,我很乐意听取他们的意见。我是 iOS 新手,不确定自己在做什么。

May*_*yur 5

只需尝试一下这个:

override func viewDidLoad() {
        super.viewDidLoad()
        makeSearchBar()
}

func makeSearchBar() {
   searchBar = UISearchBar()
    searchBar.sizeToFit()
    navigationItem.titleView = searchBar
}
Run Code Online (Sandbox Code Playgroud)

希望它能帮助你。