Динамический выбор строки в UIPickerView - PullRequest
0 голосов
/ 10 сентября 2010

У меня есть приложение для iPhone, которое использует UIPickerView и 3 кнопки.

Этот сборщик имеет один компонент с 100 строками (0, 1, 2, ..., 98, 99).

Я бы хотел реализовать код так, чтобы при нажатии на кнопки

  • button1: заставит сборщик выбрать строку 21 (значение 20)
  • button2: заставит сборщик выбрать строку 41 (которая имеет значение 40)
  • button3: выберет строку выбора 60 (имеет значение 60)

Я знаю, как заставить сборщик выбирать строку при первой загрузке представления добавив следующий код в метод viewDidLoad ():

- (void)viewDidLoad   
{  
    ........  
    [picker selectRow:50 inComponent:0 animated:YES];  
}  

но я не мог заставить сборщик выбрать нужную строку, когда я нажимал на кнопки.

Ответы [ 4 ]

4 голосов
/ 10 сентября 2010

Подключите кнопку к методу действия, затем в своем методе действия просто вызовите тот же метод selectRow:inComponent:animated:, т.е.

- (IBAction)button1Action {
    [picker selectRow:20 inComponent:0 animated:YES];
}

И вы подключите кнопку к этому методу в Интерфейсном Разработчике.*

1 голос
/ 08 июня 2011

Также убедитесь, что сборщик определен с помощью «IBOutlet» следующим образом. И подключите точку привязки сборщика к этому:

@property (nonatomic, retain) IBOutlet UIPickerView *picker;
0 голосов
/ 10 сентября 2010

Хорошо, теперь я воссоздаю проект и повторно набираю код:

- (IBAction) goToRowTwenty  
 {   
    [picker selectRow:20 inComponent:0 animated:YES];   
    [timerPickerView reloadComponent:0];  
 }  

, и это работает, я действительно не знаю, что случилось, но спасибо вам, ребята, за ответ на мой вопрос.

0 голосов
/ 10 сентября 2010

вы можете поместить тот же код, который вы сохранили в viewDidLoad для выбора pickerRow для события, которое срабатывает при нажатии кнопки.

-(void)button1clickevent{
//FUNCTION MUST GET FIRE WHEN BUttON ! IS CLICKED
       [picker selectRow:50 inComponent:0 animated:YES];
}

СЧАСТЛИВОЕ ИКОДИРОВАНИЕ ...

...