Нужна помощь в настройке метки UIPicker из выбора - PullRequest
0 голосов
/ 06 июня 2011

У меня есть UIPicker с UILabel над ним, который обновляет отображение текущего выбора.

Когда я перехожу к этому представлению во второй раз, выбор UIPicker находится на последней ячейке, где я остановился, но метка на строке по умолчанию. Как я могу сделать так, чтобы ярлык был там, где я остановился в последний раз?

Это код, который я использую:

- (void)displayPicker
{
    self.numberLabel.text = @"1 number";
}
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
{
    self.numberButtonText = [NSString stringWithFormat:@"%@ number", [self.pickerArray objectAtIndex:row]];
    self.numberLabel.text = self.numberButtonText;
}

1 Ответ

0 голосов
/ 06 июня 2011

Если я правильно понял, вы звоните

-(void)displayPicker

для установки значения по умолчанию для числовой метки по умолчанию (как в self.numberLabel.text = @"1 number";).

Возможная причина: что - (void) displayPicker вызывается каждый раз, представление предоставляется пользователю, но

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component

нет.

Возможно, вы захотите проверить такое поведение, вставив некоторые операторы NSLog() и, возможно, исправив их, используя что-то вроде этого:

- (void)displayPicker
{
    self.numberLabel.text = [NSString stringWithFormat: @"%i number", 
                            [self.numberPicker selectedRowInComponent: 0 ]];
}
...