Статическое представление для центральной строки в UIPickerView

У меня есть pickerView, к которому я добавляю пользовательское представление для каждой строки методом делегата viewForRow. Цель здесь состоит в том, чтобы иметь другое представление для центральной (выбранной) строки, например, выделенное представление, пока вращается pickerView (статическое представление в центре). Любая помощь будет оценена..

1 ответ

Решение

В iOS 7 вы можете сделать это, добавив подпредставление к вашему UIPickerView, В более ранних версиях это будет такой болезненной операцией, потому что UIPickerView будет иметь границу и т. д., так что, вероятно, вам понадобится реализация, подобная пользовательскому.

Для iOS 7 вы можете использовать что-то вроде ниже:

CGFloat rowHeight = 100;  // rowHeight of your picker view, i assumed your rowHeight equals to 100

// Create a custom view, centered vertically in your picker view
UIView * view = [[UIView alloc] initWithFrame:CGRectMake(0,
                                                         (pickerView.bounds.size.height - rowHeight)/2,
                                                         pickerView.bounds.size.width,
                                                         rowHeight)];
[view setBackgroundColor:[UIColor clearColor]];

// Do some highlighting operations
[view.layer setCornerRadius:5.0];
[view.layer setBorderColor:[UIColor blueColor].CGColor];
[view.layer setBorderWidth:5.0];

[pickerView addSubview:view];
Другие вопросы по тегам