2012-07-11 154 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。