11

我创建了一个示例选取器视图,它将显示一些详细信息。使用以下方法设置背景颜色:

_pickerView.backgroundColor = [UIColor redColor]; 

似乎没有工作。但我希望我可以创建一个如下图所示的选择器视图

在此处输入图像描述

我想做的是,整个 PickerView 背景颜色不应该是白色的,它应该填充UIColor我给的。那可能吗??怎么办??

4

6 回答 6

27

除了 Nina 的回答之外,下面是一些很好的自定义 Picker 视图控件,它们在性能和可定制性方面非常有用。

  1. http://www.cocoacontrols.com/platforms/ios/controls/cppickerview
  2. http://www.cocoacontrols.com/platforms/ios/controls/afpickerview
  3. http://www.cocoacontrols.com/platforms/ios/controls/v8horizo ​​ntalpickerview(水平 PickerView)
于 2012-08-02T02:52:41.153 回答
2

我编写了一个自定义选择器视图,它使用 UITableView 作为起点。您可以随意自定义它。

https://github.com/derekju/DjuPickerView

于 2013-07-12T21:55:52.640 回答
1

您可以通过将 tableview 单元格放入其中来更改选定的颜色。

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
UITableViewCell *cell = (UITableViewCell *)view;

if( cell == nil ) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease];
    [cell setBackgroundColor:[UIColor redColor]];

    [cell setBounds: CGRectMake(0, 0, cell.frame.size.width -20 , 44)];
    cell.textLabel.text = [self.userNameArray objectAtIndex:row];
    cell.userInteractionEnabled = NO;
}

return cell;
}
于 2012-07-11T05:58:02.017 回答
1

很难自定义 UIPickerView。

您可能会选择以默认外观使用它,或者尝试使用另一个 UIKit 组件(例如 UITableView)来模拟 UIPickerView。有一些库正在使用 UITableView 来模拟更灵活的 UIPickerView。

于 2015-10-13T13:15:19.823 回答
0

API 不提供更改选择拨号器样式和颜色的方法。您只能更改您想要设计的选择器的内部视图。由于 UIPickerView 没有 UI_APPEARANCE_SELECTOR。

查看下面的链接将帮助您。 使用 UIAppearance 自定义 iOS UIDatepicker

于 2012-08-04T05:19:00.683 回答
0

UIPickerView有子视图。将图像分配给视图并将其添加到索引 2 处的子视图中,将更改选取器视图的背景。

我遇到了同样的问题:-) 在这里查看我的问题!用图片自定义 UIPickerView 的 Skin

或者你可以使用AFPickerView

于 2012-08-01T14:50:23.907 回答