【问题标题】:UINavigationBar : Add SearchBar as TitleViewUINavigationBar : 添加 SearchBar 作为 TitleView
【发布时间】:2017-03-14 10:10:50
【问题描述】:

我想添加 uisearchbar 来代替控制器的标题。

我目前面临两个问题。

1) 我不知道这个灰色背景是从哪里来的。请检查这张图片。

2) 我在其他内部屏幕中也需要这个搜索栏。但是当我推动另一个控制器时,这个搜索栏就会被删除。

这是我的代码:

// Seachbar Container View
    let searchBarContainer = ERView(frame: CGRectMake(0,0,280,44))
    searchBarContainer.autoresizingMask = [.FlexibleWidth]
    searchBarContainer.backgroundColor = UIColor.clearColor()

// Search Bar
    let searchBar = ERSearchBar(frame: searchBarContainer.bounds)
    searchBarContainer.addSubview(searchBar)

// Add View as Title View in Navigation Bar
    self.navigationController!.navigationBar.topItem?.titleView = searchBarContainer

这是我的 UISearchBar 类的代码

 func commonInit() -> Void {
    // Update UI

    if let searchField = self.valueForKey("searchField") as? UITextField{
        // To change background color
        searchField.backgroundColor = UIColor.appNavigationBarDarkRedColor()

        // Tint Color
        if let leftViewRef = searchField.leftView {
            leftViewRef.tintColor = UIColor.whiteColor()
        }else if let imgLeftView = searchField.leftView as? UIImageView{
            imgLeftView.tintColor = UIColor.whiteColor()
        }

        // Font Color
        searchField.font = UIFont.robotoRegularFont(WithSize: 14.0)

        // Text Color
        searchField.textColor = UIColor.whiteColor()

        // PlaceHolder Attributes
        searchField.attributedPlaceholder = NSAttributedString(string: "Search", attributes: [NSForegroundColorAttributeName:UIColor.whiteColor()])
    }

    self.setImage(UIImage(named: "ic_search_white"), forSearchBarIcon: UISearchBarIcon.Search, state: UIControlState.Normal)
    // To change placeholder text color
}

请有人在这里帮助我。

【问题讨论】:

    标签: ios uinavigationcontroller uinavigationbar uisearchbar uinavigationitem


    【解决方案1】:

    对于 1) 将 searchBarStyle 属性设置为最小。这将在 UIsearchBar 中不提供默认背景颜色。

    2)我不太确定您所说的“内屏”是什么意思。但是如果你想要的是一个可以跨不同视图控制器工作的搜索栏,那么 UISearchController 就是你要找的那个。 可以细化苹果示例代码here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-19
      • 1970-01-01
      • 1970-01-01
      • 2019-03-03
      相关资源
      最近更新 更多