UIPickerView с пользовательским представлением и метками без прокрутки

Я использую следующий код, чтобы добавить метку и представление в UIPickerView.

- (UIView *)pickerView:(UIPickerView *)pickerView
        viewForRow:(NSInteger)row
      forComponent:(NSInteger)component
       reusingView:(UIView *)view {


CustomPickerView *customView = [[CustomPickerView alloc] initWithFrame:CGRectMake(0.0, 0.0, 180, 32)];

CustomPickerLabel *pickerLabelLeft = [[CustomPickerLabel alloc] initWithFrame:CGRectMake(0.0, 0.0, 80, 32)];
[pickerLabelLeft setTextAlignment:UITextAlignmentRight];
pickerLabelLeft.backgroundColor = [UIColor clearColor];
[pickerLabelLeft setText:@"1234"];

[customView addSubview:pickerLabelLeft];

return customView;

}

Причина, по которой я использую представление, заключается в том, что я хочу добавить две метки к этому представлению и отобразить их в средстве выбора. Классы CustomPickerView и CustomPickerLabel содержат следующий код, каждый:

- (void)didMoveToSuperview { if ([[self superview] respondsToSelector:@selector(setShowSelection:)]) { [[self superview] performSelector:@selector(setShowSelection:) withObject:NO]; } }

приведенный выше код отлично работает для отображения и прокрутки, но когда я нажимаю на метку для прокрутки, он ничего не делает. Если я нажимаю сразу за пределами метки, как в углах средства выбора, колесо поворачивается к выбору, как и должно.

Мы ценим любые предложения.

стержень


person Rod    schedule 14.10.2010    source источник


Ответы (1)


Установите для свойства userInteractionEnabled вашего customView значение NO. Кажется, что если для него установлено значение YES, то пользовательское представление перехватывает касания, и средство выбора не может прокручивать до выбранной строки.

person Vladimir    schedule 14.10.2010
comment
Мужик, СПАСИБО БОЛЬШОЕ! Я продолжал пытаться установить для метки и представления userInteractionEnabled значение YES (интуитивно) и их комбинацию, но никогда не пробовал NO (полагал, что это было по умолчанию). - person Rod; 14.10.2010