如何使搜索栏转角

时间:2018-10-18 09:10:08

标签: ios swift uinavigationbar uisearchbar

我正在尝试使searchBar的角变圆。我尝试了多种使用layer.cornerRadiusmaskToBound = true的方法。我正在以编程方式将searchBar加载到navigationBar中。我已经尝试了很多关于堆栈溢出的解决方案,但是没有任何效果。

func setupsearchbar()
{
    //      Setup the Search Controller
    searchcontroller.searchResultsUpdater = self as? UISearchResultsUpdating
    searchcontroller.hidesNavigationBarDuringPresentation = false
    searchcontroller.searchBar.placeholder = "Search" 
    self.navigationItem.titleView = searchcontroller.searchBar
    self.searchcontroller.searchBar.layer.cornerRadius = 30
    self.searchcontroller.searchBar.layer.masksToBounds = true
    definesPresentationContext = true
    searchcontroller.searchBar.delegate = self
}

请问有什么我可以做的。

1 个答案:

答案 0 :(得分:3)

使用以下代码在我当前的项目中对我来说效果很好。

if let textfield = searchController.searchBar.value(forKey: "searchField") as? UITextField {

    textfield.textColor = UIColor.blue

    if let backgroundview = textfield.subviews.first {

        // Background color
        backgroundview.backgroundColor = UIColor.white

        // Rounded corner
        backgroundview.layer.cornerRadius = 10;
        backgroundview.clipsToBounds = true;
    }
}

我希望这会对您有所帮助。