我的UIDatePicker,我想在的UIDatePicker在灰色绘制时间,例如的UIDatePicker绘制时间到另一种颜色
我需要这个,如果我在图形绘制一些间隔,所以在日期选择器的用户无法选择此时
我的UIDatePicker,我想在的UIDatePicker在灰色绘制时间,例如的UIDatePicker绘制时间到另一种颜色
我需要这个,如果我在图形绘制一些间隔,所以在日期选择器的用户无法选择此时
遗憾地告诉你,但UIDatePicker
不支持设置有效时间为像你所描述的。唯一的选择是最小和最大日期。如果你真的需要这个,你需要从零开始构建一个自定义控件,这将花费大量的精力。
我想我找到了我的解决方案,我可以得出时间到另一种颜色
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];
}
}
}
}
}
}
我需要捕捉事件滚动的DatePicker的时候,我这样做,这方面的工作,但我打破滚动
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) {
我尝试另一种方式,但它不起作用
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) {
所以这是你自己的问题的答案?这对你有用吗? – sunkehappy
我可以更改DatePicker中的标签颜色,但DatePicker滚动时我无法捕获操作 – Pavel
但是,如何在UIDatePicker中绘制时间到另一种颜色? – Pavel