2012-07-11 148 views
11

我已经创建了一个样本选择器视图,它将显示一些细节。设置背景颜色使用:自定义UIPickerView自定义背景颜色

_pickerView.backgroundColor = [UIColor redColor]; 

似乎并没有工作。但是,我希望我能创建一个类似下面的图像的选择器视图

enter image description here

什么,我试图做的是,整个PickerView背景颜色不应该是白色的,它应该与我给UIColor填写。那可能吗??它是如何做到的?

+0

你想改变选择器的颜色或整个BG的颜色? – PJR 2012-07-11 05:44:34

+0

我想要改变现在是白色的整个BG颜色。即使是选定的颜色(但让我先做BG后,我也会改变选中的颜色) – Perseus 2012-07-11 05:49:33

+0

查看贴出的链接将解决您的问题。 – Kuldeep 2012-08-04 10:52:52

回答

27

加成尼娜的回答,下面是其中一些将是很好的性能和可定制方面使用良好习惯选择器视图控件。

  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/v8horizontalpickerview(水平PickerView)
+0

http://heidibrebels.be/blog/archives/2012/custom-uipickerview-selectionindicator这是一个非常酷!感谢分享! – Nina 2012-08-06 07:23:55

+0

@Nina:谢谢...如果你真的喜欢它...那么你可以为此答案投票... – DShah 2012-08-06 11:26:55

+0

哈哈...没有人:-) – Nina 2012-08-06 11:32:34

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; 
} 
+1

否否将红色更改为否。 UIPicker中存在的项目。如果我向下滚动。最后,我可以看到,白色即将到来。我想只更改UIPickerView的全部BG颜色,现在是白色。 – Perseus 2012-07-11 06:07:01

+0

看看这个答案http://stackoverflow.com/questions/965375/change-uipickerview-background – PJR 2012-07-11 06:10:11

+0

http://stackoverflow.com/questions/1968288/how-to-change-the-background-color-in-uipickerview – PJR 2012-07-11 06:10:54

0

UIPickerView有子视图。将图像分配给视图并将其添加到索引2的子视图中,将改变pickerview的背景。

我曾经有过同样的问题:-)看到我的问题在这里! Customize UIPickerView's Skin with images

或者你可以使用AFPickerView

0

的API不提供一种方法来改变风格和选择拨号器的颜色。你只能改变选择器的内部视图,你想如何设计。 由于UIPickerView没有UI_APPEARANCE_SELECTOR。

查看下面的链接将帮助你。 Custom iOS UIDatepicker using UIAppearance

1

这是很难定义一个UIPickerView。

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