gpt4 book ai didi

objective-c - NSDatePicker 格式化程序

转载 作者:行者123 更新时间:2023-12-03 16:22:55 24 4
gpt4 key购买 nike

我在我的应用程序中使用 NSDatePicker,但我的日期选择器在日期/月/小时/等中没有像 iCal 的日期选择器那样为零。您可以在下面两张图片的突出显示部分中看到我谈到的差异。

这是 iCal 的日期选择器:

iCal date picker

这是我应用程序的日期选择器:

app date picker

您能告诉我如何拥有像 iCal 这样的格式化程序吗?

最佳答案

Apple 在 NSDatePicker 上使用私有(private)方法来强制显示前导零,无论区域设置如何。您也可以这样做,尽管 Mac App Store 中可能没有明确的评论。

是的,您可以强制区域设置始终显示两位数的日期字段,但随后某些用户会看到其区域设置的字段顺序或分隔符错误。

对于 Calendar.app/iCal,我们可以查看 Hopper 中的 CalendarUI.framework,看看它们在哪里调用私有(private)方法 _setForcesLeadingZeros:

screenshot

您可以使用以下方式调用私有(private)方法

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)

关于objective-c - NSDatePicker 格式化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7785331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com