年齢を含む登録フォームがあります。年齢を入力すると、UIDatePickerがポップアップして日付を選択できます。私はこれを達成するためにviewDidLoad
に次のコードを実行しています:プログラムでUIDatePickerをスタイリングする
- (void)configureAgePicker {
//Initialise date picker
UIDatePicker *datePicker = [[UIDatePicker alloc] init];
datePicker.datePickerMode = UIDatePickerModeDate;
datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_UK"];
//Add toolbar to keyboard
UIToolbar *toolBar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 44)];
UIBarButtonItem *doneBtn=[[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStylePlain target:self action:@selector(resignKeyboards)];
UIBarButtonItem *space=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
[toolBar setItems:[NSArray arrayWithObjects:space,doneBtn, nil]];
//style popup
toolBar.barTintColor = kPrimaryHighlightGradient;
datePicker.backgroundColor = kPrimaryHighlight;
datePicker.tintColor = kTextColor4;
self.ageTextfield.inputAccessoryView = toolBar;
self.ageTextfield.inputView = datePicker;
}
私の問題は、私は日付ピッカー自体の色のプロパティを変更できないことです。ツールバーの色を設定することはできますが、それは問題ありません。datePicker.backgroundColor
& datePicker.tintColor
何もしていないようです。ここではテキストフィールドの画像は、私は本当に私のアプリのカラースキームに一致するように、このポップアップの色を変更したい、
です。私はUIDatePickers
の前にストーリーボードを通し、ランタイム変数を使ってカラースキームを設定しなければならないことを覚えています。私はこの日付ピッカーをコードで作成し、それをテキストフィールドのキーボードに追加するので、色のスキームを変更するためにもっとやる必要はありますか?