2013-10-07 2 views
0

Когда я делаю длинный сборщик с несколькими компонентами, только компоненты, находящиеся рядом с центром, реагируют на функцию отвода к выбору.Интерактивная область UIPickerView для отключения обрезания в iOS 7

Например, если вы хотите выбрать самую следующую строку под выбранной строкой, вы должны просто нажать ее, чтобы сделать ее анимированной в область выбора. Эта функция все еще существует с iOS 7, но область с UIPicker, которая фактически принимает кран, - это очень маленькое окно размером не более 200 пикселей.

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

EDIT Вот код, это довольно стандартная ...

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

    NSLog(@"picked %i %i" , component , row); 
} 


- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { 
    return 4; 
} 

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { 
    return 15; 
} 

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ 
    return @""; 
} 

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

    pickersLabel =[[UILabel alloc] initWithFrame:CGRectMake(0.0, 0.0, view.frame.size.width , view.frame.size.height)]; 
    pickersLabel.text = [NSString stringWithFormat:@"thing %i" , row ]; 


    pickersLabel.backgroundColor = [UIColor clearColor]; 

    pickersLabel.backgroundColor = [UIColor colorWithRed:1/255.0 green:1/255.0 blue:2/255.0 alpha:0.05]; 

    pickersLabel.opaque = NO; 
    [view addSubview:pickersLabel]; 
    return pickersLabel; 
} 
+0

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

+0

Dipen, я добавил код. Я также создал совершенно новый проект, который просто исключает все переменные. Он по-прежнему позволяет вам выбирать строку в самом центре UIPickerView. Вышеупомянутый код из этого тестового проекта. Любые предложения будут ценны! – Patrick

ответ

0

У меня были огромные проблемы с UIPickerViews, которые были в .xibs вместо раскадровки в прошивкой 7. Я не уверен, если есть какая-то оптимизация, идущая за кулисами в Раскадке, или если это ошибка, но это стоит того - я использую представление выбора, которое исходит от раскадровки прямо сейчас, и я могу использовать -выбранные строки, и они прокручиваются вверх и становятся выбранными.

Смежные вопросы