Статическое представление для центральной строки в 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];