UIPickerView Делегат и методы DataSource не вызывают - PullRequest
1 голос
/ 01 сентября 2011

Я хочу отобразить PickerView, когда нажимаю кнопку. У меня есть вид, который имеет 3 кнопки. В соответствующих действиях с кнопками я выделил и запустил pickerView следующим образом: pickerView = [[UIPickerView alloc] init]; Также я добавил PickerView в Subview следующим образом: [self.view addSubview: pickerView];

Я также подклассифицировал свой класс с помощью UIPickerViewDataSource и UIPickerViewDelegate следующим образом: MyClass: UIViewController

По NSLoging я увидел, что методы PickerView DataSource и Delegate не вызываются. Когда я нажимаю кнопку (TouchUpInside), вид показывает pickerView с origin = (0,0), который должен быть внизу, а pickerView отображается полностью черным. Я исправил кадр PickerView с помощью: pickerView.frame = CGRectmake (0,180,320,260);

Я погуглил, чтобы проверить, когда вызывается метод DataSource и Delegate в pickerView, но не смог найти правильный ответ.

Я также попробовал скрытое свойство здесь следующим образом: В методе viewDidLoad: pickerView.hidden = YES; В методе, который вызывается после нажатия кнопки: pickerView.hidden = NO;

Помогите мне, пожалуйста. Я новичок в Objective C.

1 Ответ

4 голосов
/ 01 сентября 2011

Если вы создали свой сборщик программно - вы фактически установили его делегат и источник данных?

// Assuming that delegate and data source is controller where picker is created
pickerView.delegate = self;
pickerView.dataSource = self;
...