Я пытаюсь предоставить пользовательские представления для UIPickerView, чтобы весь фон каждой строки был одним из двух цветов (ни один из которых не является белым).
Я смог предоставить эти пользовательские представления нормально, с цветами, которые я хочу, но я не могу заставить представление заполнить все «пространство» для строки.
Тестовый код ниже пытается добиться эффекта изменения цвета фона UIPicker назеленый - но представление, которое я предоставляю, не выравнивается правильно.Это всегда на несколько пикселей влево и иногда фактически покрывает левый край компонента в зависимости от его ширины.
В результате я всегда вижу белый край с правой стороны.
Изменение источника CGRect не меняет его расположение в строке.
Изменение ширины CGRect меняет ширину в порядке, но оно все равно всегда выравнивается на несколько пикселей влево.т.е. не по центру.
Может кто-нибудь сказать мне, что я здесь не так делаю?
У меня просто стандартный UIPicker, перетащенный на представление.
- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component {
return 44;
}
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component {
return 200;
}
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
UIView *rowView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 44)] autorelease];
rowView.backgroundColor = [UIColor greenColor];
return rowView;
}