web-dev-qa-db-ja.com

カスタム背景色のカスタムUIPickerView

いくつかの詳細を表示するサンプルピッカービューを作成しました。以下を使用して背景色を設定します。

_pickerView.backgroundColor = [UIColor redColor]; 

動作していないようです。しかし、私は下の画像のようなピッカービューを作成できればいいのにと思います

enter image description here

私がやろうとしていたのは、PickerViewの背景色全体が白であってはならず、私が与えているUIColorで塗りつぶされている必要があるということです。それは可能ですか?どのようにそれを行うことができますか?

11
Perseus

Ninaの回答に加えて、以下は、パフォーマンスとカスタマイズの観点から使用するのに適した、優れたカスタムピッカービューコントロールの一部です。

  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 (Horizo​​ntal PickerView)
27
DShah

UITableViewを開始点として使用するカスタムピッカービューを作成しました。自由にカスタマイズしてください。

https://github.com/derekju/DjuPickerView

2
Derek Ju

UIPickerViewをカスタマイズするのは難しいです。

デフォルトの外観で使用するか、UITableViewなどの別のUIKitコンポーネントを使用してUIPickerViewをシミュレートすることを選択できます。 UITableViewを使用してより柔軟なUIPickerViewをシミュレートしているライブラリがいくつかあります。

1

テーブルビューセルを入れることで、選択した色を変更できます。

- (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
PJR

UIPickerViewにはサブビューがあります。画像をビューに割り当て、それをインデックス2のサブビューに追加すると、ピッカービューの背景が変更されます。

私も同じような問題を抱えていました:-)ここで私の質問を参照してください!! IPickerViewのスキンを画像でカスタマイズ

または、AFPickerViewを使用できます

0
Nina

APIは、選択ダイヤラのスタイルと色を変更する方法を提供していません。ピッカーの内部ビューのみをどのように設計するかを変更できます。 UIPickerViewにはUI_APPEARANCE_SELECTORがないため。

以下のリンクをチェックしてください。 IAppearanceを使用したカスタムiOS UIDatepicker

0
Kuldeep