Есть ли в UIPickerView selectRow: inComponent: animated: call pickerView: didSelectRow: inComponent :? - PullRequest
14 голосов
/ 09 августа 2011

UIPickerView selectRow:inComponent:animated: вызывает pickerView:didSelectRow:inComponent:? В противном случае, я могу просто назвать это сам?

Спасибо

Ответы [ 3 ]

25 голосов
/ 02 августа 2013

Вы должны вызывать это вручную, и вы делаете это через делегата.

// In this example the UIPickerView object is in a property
...
self.pickerView.datasource = self;
self.pickerView.delegate = self;

// Selects the row in the specified component
[self.pickerView selectRow:0 inComponent:0 animated:NO];

// Manually calls pickerView:didSelectRow:inComponent:
[self pickerView:self.pickerView didSelectRow:0 inComponent:0];
4 голосов
/ 12 августа 2011

Нет, хотя можно вызвать его вручную.

1 голос
/ 12 октября 2017

Он также не вызывает метод делегата с помощью swift, но вы можете сделать это и вручную. Решение для swift 3 и swift 4 :

self.pickerView.datasource = self
self.pickerView.delegate = self

self.pickerView.selectRow(0, inComponent: 0, animated: false)
self.pickerView.delegate?.pickerView?(self.pickerView, didSelectRow: 0, inComponent: 0)
...