【问题标题】:swift styling searchbar minimal cancel button and horizon left快速样式搜索栏最小取消按钮和地平线左侧
【发布时间】:2020-10-25 12:03:37
【问题描述】:

我想更改搜索栏取消按钮图像或更改背景颜色 我需要水平向左

我已经尝试过这样的

if let btn = mSearchBar.value(forKey: "cancelButton") as? UIButton {
    btn.backgroundColor = .red  
}

但它不起作用

谢谢

【问题讨论】:

  • 尝试解决方案。希望它对你有用。您可以将 MyImage 更改为您想要的任何图像,也可以更改颜色。

标签: ios swift swift3 swift4 swift5


【解决方案1】:

斯威夫特 5

@IBOutlet private weak var searchbar: UISearchBar!{
        didSet{
            if let searchTextfield = self.searchbar.value(forKey: "searchField") as? UITextField , let clearButton = searchTextfield.value(forKey: "_clearButton")as? UIButton {
                
                clearButton.setImage(UIImage(named: "cross_vector_icon"), for: .normal)
                
            }
             
        }
    }

【讨论】:

  • 嗨,感谢重播,我收到消息 Terminating app due to uncaught exception 'NSUnknownKeyException' ,此类不符合键 _clearButton 的键值编码。
  • 几乎和你一样,我认为问题出在 forkey: _clearButton ,我需要在某个地方设置这个键吗?
  • 现在试试 我更改了变量名。我在我这边进行了测试,它正在工作。这应该也适用于您。
  • 嗨拉希德,你知道如何水平,我需要填充正确,我试过 clearButton.frame = CGRect(-50, 0, 24, 24) 但不起作用
  • 我得到了这样的解决方法 SearchBar.setPositionAdjustment(UIOffset(horizo​​ntal: -20, vertical: 0), for: .clear)
猜你喜欢
  • 1970-01-01
  • 2019-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-07
  • 1970-01-01
相关资源
最近更新 更多