【发布时间】:2011-03-04 07:54:03
【问题描述】:
我正在尝试为 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;
}
【问题讨论】:
标签: iphone uipickerview