почему DatePicker выглядит очень тонким? - PullRequest
1 голос
/ 20 февраля 2020

Я хочу знать, почему UIDatePicker выглядит очень тонким? Я использую этот код:

 datePicker=[[UIDatePicker alloc]init];

 datePicker.datePickerMode=UIDatePickerModeDateAndTime;

 [datePicker setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"fr"] ];

 NSDate *tomorrow = [NSDate dateWithTimeInterval:(24*60*60) sinceDate:[NSDate date]];

 [datePicker setDate:tomorrow];

 [datePicker setMinimumDate:tomorrow];

 [_dateField setInputView:datePicker];

После выполнения этого кода у меня есть такой результат:

enter image description here

Как вы можете см. UIDatePicker выглядит очень тонким, не похожим на обычный внешний вид.

Ответы [ 2 ]

0 голосов
/ 21 февраля 2020

Я нахожу причину, по которой средство выбора даты появляется с этим размером шрифта (не нормальным размером шрифта), фактически в приложении есть переопределенный метод:

  • (UIFont *) systemFontOfSize: (CGFloat) fontSize;

, который заставляет средство выбора даты появляться с размером шрифта, определенным в этом методе.

в любом случае спасибо за вашу помощь.

0 голосов
/ 21 февраля 2020

Это только из-за новых их IOS. Слыша, что вам нужно установить собственный цвет фона, вы также можете установить высоту, используя его метод делегата

[pickerViewPtr setDataSource: self];

Добавьте приведенный ниже метод в свой класс, в котором вы реализовали средство выбора. view // для изменения высоты строки - (CGSize) rowSizeForComponent: (NSInteger) component;

А также

// возвращает представление, предоставленное делегатом через pickerView : viewForRow: forComponent: reusingView: // или nil, если строка / компонент не видна или делегат не реализует // pickerView: viewForRow: forComponent: reusingView: - (обнуляемый UIView *) viewForRow: (NSInteger) строка forComponent: (NSInteger) компонент;

Также у вас есть элемент управления для манипулирования текстом

  • (NSAttributedString *) pickerView: (UIPickerView *) pickerView attributetedTitleForRow: (NSInteger) строка дляComponent: (NSInteger) component {NSString * title = @ "sample title"; NSAttributedString * attString = [[NSAttributedString alloc] initWithString: атрибуты заголовка: @ {NSForegroundColorAttributeName: [UIColor whiteColor]}];

    return attString; }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...