NSDatePicker форматер - PullRequest
       1

NSDatePicker форматер

3 голосов
/ 16 октября 2011

Я использую NSDatePicker в своем приложении, но в моем средстве выбора даты нет даты / месяца / часа / и т. Д. В качестве средства выбора даты iCal. Вы можете увидеть разницу, о которой я говорил, в выделенной части двух следующих изображений.

Это средство выбора даты iCal:

iCal date picker

и это средство выбора даты моего приложения:

app date picker

Подскажите, пожалуйста, как получить такой форматер, как iCal?

Ответы [ 2 ]

0 голосов
/ 09 апреля 2019

Apple использует закрытый метод для NSDatePicker, чтобы принудительно отображать начальные нули независимо от локали. Вы могли бы сделать это также, хотя это может не очистить обзор в Mac App Store.

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

Для Calendar.app / iCal мы можем посмотреть на CalendarUI.framework в Hopper и посмотреть, где они вызывают приватный метод _setForcesLeadingZeros:.

screenshot

Вы можете вызвать приватный метод с помощью…

let sel = Selector(("_setForcesLeadingZeroes:"))
let imp = class_getMethodImplementation(NSDatePicker.self, sel)
let impClosure = unsafeBitCast(
    imp,
    to: (@convention(c)(Any?, Selector?, Bool) -> Void).self)
impClosure(datePicker, sel, true)
0 голосов
/ 16 октября 2011

Использовать метод экземпляра NSDatePicker setDatePickerStyle:

- (void)setDatePickerStyle:(NSDatePickerStyle)newStyle
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...