我需要更改UIPickerView的字体并使用委托方法,如下所示。
func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView
{
var pickerLabel = view as? UILabel;
if (pickerLabel == nil)
{
pickerLabel = UILabel()
pickerLabel?.font = UIFont(name: (pickerLabel?.font.fontName)!, size: 15)
pickerLabel?.textAlignment = NSTextAlignment.center
}
pickerLabel?.text = myData[row]
return pickerLabel!
}
据我了解documentation,一旦我创建了UILabel视图,就应该重用它们。但是,“view”参数始终为nil。每次我旋转拾取器,它都会创建一个新的UILabel。这似乎效率低下,并且无法使用“重用”参数。
这是一个错误还是我误解了它应该如何工作?
谢谢,
儒略
答案 0 :(得分:0)
是的,这是一个iOS系统错误。即使在iOS 10.2上也没有修复它。检查相关问题:Reusing view in UIPickerView with iOS 7