美文网首页
iOS 关于 UISearchBar 的一些设置

iOS 关于 UISearchBar 的一些设置

作者: Sparkle_S | 来源:发表于2016-08-25 14:02 被阅读0次

    1.去掉导航搜索框的边沿黑线
    当需求要求导航上放置搜索框,并且放置的不止搜索框时,你会在拖返时发现搜索框周围有一个方形背景图:


    copylabel7.gif

    在 UISearchBar 的类扩展中添加 isOnNarBar() 方法,再调用即可解决

    extension UISearchBar{
      /**
       设置搜索框在导航上
       */
      func isOnNarBar() {
        //去掉导航搜索框拖返时出现的背景图
        self.backgroundImage = UIImage()
      }
    }
    navSearchBar.isOnNarBar()
    

    2.设置搜索框背景色


    设置搜索框背景色.png
    extension UISearchBar{
      /**
       设置搜索框的输入框背景色
       - parameter color:  color
       */
      func setTextFieldBackgoundColor(color:UIColor) {
        let textField = self.valueForKey("_searchField") as? UITextField
        textField?.backgroundColor = color
      }
    }
    

    3.设置 placeholder ,同时可设定 placeholder 颜色和左侧图片


    设置 placeholder.png
    extension UISearchBar{
      /**
       设置搜索框 placeholder ,可配置 placeholder 颜色 和左侧图片
       
       - parameter placeHolderStr: placeholder
       - parameter color:          color
       - parameter leftImage:      左侧视图图片
       */
      func setPlaceHolder(placeHolderStr:String,color:UIColor?,leftImage:UIImage?) {
        self.placeholder = placeHolderStr
        let textField = self.valueForKey("_searchField") as? UITextField
        if let color = color {
          //先设置 placeholder 才能设置 placeholder 的颜色
          textField?.setValue(color, forKeyPath: "_placeholderLabel.textColor")
        }
        if let leftImage = leftImage {
          textField?.leftView = UIImageView.init(image: leftImage)
        }
      }
    }
        navSearchBar.setPlaceHolder("设置了 placeholder 之后,才能修改它的颜色", color: UIColor.whiteColor(), leftImage: UIImage.init(named: "white_seach"))
    

    期待你的评论建议O(∩_∩)O~

    相关文章

      网友评论

          本文标题:iOS 关于 UISearchBar 的一些设置

          本文链接:https://www.haomeiwen.com/subject/awoosttx.html