У меня проблема с настройкой UIPickerView. Я поставил весь этот учебник, и я хотел бы изменить размер шрифта, но:UIPickerView: viewForRow не называется
Изменение размера шрифта с помощью attributedTitleForRow не имеет никакого эффекта (хотя изменение цвета на самом деле работает)
viewForRow никогда не вызывается. На всех.
Я использую Xcode 8 & Swift 2.3 и нацеливание IOS 8+. Ниже приведены все соответствующие биты кода:
Interface Builder (IB) подключение:
@IBOutlet weak var synapse: UIPickerView!
Делегат связан с UIViewController:
override func viewDidLoad() {
super.viewDidLoad()
// Préparation des gestionnaires de transition vers les différentes vues
self.transitionManagerNav.sourceViewController = self
self.transitionManagerNav.ordre = "travailleini2barrenav"
self.transitionManagerDesk.sourceViewController = self
self.transitionManagerDesk.ordre = "travailleini2desk"
self.synapse.dataSource = self
self.synapse.delegate = self
dateEnCours = graphique.pointDeReference.dateComplete
}
Реализация Делегат:
// UIPICKERVIEWDELEGATE
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return elementsDefileur.count
}
func pickerView(pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat {
return 17
}
func pickerView(pickerView: UIPickerView, widthForComponent component: Int) -> CGFloat {
return synapse.frame.width
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
}
func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
print("[viewForRow]") // THAT never happens (and yes, I am looking at the correct output window :o)
let pickerLabel = UILabel()
pickerLabel.textColor = UIColor.redColor()
pickerLabel.text = elementsDefileur[row]
pickerLabel.font = UIFont(name: "Arial-BoldMT", size: 5)
pickerLabel.textAlignment = NSTextAlignment.Left
return pickerLabel
}
Я пробовал все, что мог придумать, включая удаление и повтор используя UIPickerView из кода, а затем из (IB), перемещая ссылки делегата в viewWillAppear, каждую комбинацию titleForRow/attributedTitleForRow/viewForRow, очистку проекта и т. д.
Как исправить эту проблему?
Вы включили UIPickerViewDelegate после имени класса? (Угадающ имя, предполагая его право.) I.e класс myViewController: UIViewController, UIPickerViewDelegate – Dallas
yes Я сделал (извините за это забыть): – neimangu
класс travailleViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate { – neimangu