私は UIDatePicker を持っていて、UIDatePicker でたとえば灰色で時間を描画したい
私のグラフィックで間隔を描く場合、これが必要なので、datePicker ユーザーは今回は選択できません
私は UIDatePicker を持っていて、UIDatePicker でたとえば灰色で時間を描画したい
私のグラフィックで間隔を描く場合、これが必要なので、datePicker ユーザーは今回は選択できません
申し訳ありませんが、UIDatePicker
あなたが説明したような有効な時間範囲の設定はサポートしていません。唯一のオプションは、最短日と最長日です。これが本当に必要な場合は、カスタム コントロールを最初から作成する必要があり、それには多くの労力がかかります。
I think I found my solution, I can draw time to another color
for (UIView *view in datePicker.subviews) {
for (UIView *subView in view.subviews) {
for (UIView *subSubView in subView.subviews) {
for (UIView *thirdSubView in subSubView.subviews) {
for (UILabel *label in thirdSubView.subviews) {
if ([label isKindOfClass:[UILabel class]]) {
label.textColor = [UIColor redColor];
}
}
}
}
}
}
I need to catch event when scrolling DatePicker, I doing this, and this work, but I break the scroll
for (UIView *view in datePicker.subviews) {
for (UIView *subView in view.subviews) {
Class UIPickerTableView = objc_getClass("UIPickerTableView");
if ([subView isKindOfClass:UIPickerTableView]) {
UITableView *sub = (UITableView *) subView;
sub.delegate = self;
}
for (UIView *subSubView in subView.subviews) {
I try doing another way, but it doesn't work
for (UIView *view in datePicker.subviews) {
for (UIView *subView in view.subviews) {
Class UIPickerTableView = objc_getClass("UIPickerTableView");
Method targetMethod = class_getInstanceMethod(UIPickerTableView, @selector(scrollViewDidScroll:));
Method newMethod = class_getInstanceMethod(UIPickerTableView, @selector(__scrollViewDidScroll:));
method_exchangeImplementations(targetMethod, newMethod);
for (UIView *subSubView in subView.subviews) {