问题描述
UIPicker 上的背景似乎在 iOS 14 中发生了变化。我试图让它看起来与 iOS 13 中的一样,但我无法做到。以下是我现有的代码:
func pickerView(_ pickerView: UIPickerView,viewForRow row: Int,forComponent component: Int,reusing view: UIView?) -> UIView {
let pickerLabel = UIButton()
let attributesForSelectedRow = [NSAttributedString.Key.font: UIFont.systemFont(ofSize: 16,weight: .bold),NSAttributedString.Key.foregroundColor: UIColor.blue(),NSAttributedString.Key.backgroundColor: UIColor(rgb: 0xE5E5E5)]
let attrTitle = NSMutableAttributedString(string: text,attributes: attributesForSelectedRow)
pickerLabel.setAttributedTitle(attrTitle,for: .normal)
pickerLabel.backgroundColor = UIColor(rgb: 0xE5E5E5)
pickerLabel.contentHorizontalAlignment = .center
return pickerLabel
}
我尝试过的解决方案:
func pickerView(_ pickerView: UIPickerView,reusing view: UIView?) -> UIView {
let pickerLabel = UIButton.init(frame: CGRect(x: 0,y: 0,width: pickerView.frame.width,height: 36))
if #available(iOS 14.0,*)
{
pickerView.subviews[safe:1]?.backgroundColor = UIColor.clear
}
let attributesForSelectedRow = [NSAttributedString.Key.font: UIFont.systemFont(ofSize: 16,NSAttributedString.Key.backgroundColor: UIColor(rgb: 0xE5E5E5)]
let attrTitle = NSMutableAttributedString(string: “M1”,for: .normal)
pickerLabel.backgroundColor = UIColor(rgb: 0xE5E5E5)
pickerLabel.contentHorizontalAlignment = .center
return pickerLabel
}
我的解决方案的背景颜色看起来不错,但它不像 iOS 13 中那样采用 pickerview 的宽度。如何使灰色背景的宽度与选择器视图的宽度相同?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)