iOS14之后UIPikerView选中行居然有背景颜色了如图,这种情况我们是不需要的!
image.png
解决方案: 我们只需一句代码搞定
if #available(iOS 14.0, *) {
pickerView.subviews[1].backgroundColor = .clear
}
⚠️⚠️⚠️警告,这句代码要放在确定数据源之后(numberOfRowsInComponent),否则会因为数据源越界而导致程勋奔溃⚠️⚠️
我这里放在了
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if #available(iOS 14.0, *) {
pickerView.subviews[1].backgroundColor = .clear
}
if row == dataArray.count - 1 {
return dataArray[row] + DDExchangeLanguage("My_UserInfo_age_title_above")
} else {
return dataArray[row] + DDExchangeLanguage("My_UserInfo_age_title")
}
}
你也可以放在其他地方比如下方,但需注意一定是数据添加之后!
image.png
如果有误,欢迎大家指正,大家加油
网友评论