iOS 9.2 UIDatePicker 角和边框不工作
iOS 9.2 UIDatePicker corner and border not working
我正在使用 UIDatePicker,我需要在其中设置 borderWidth、borderColor 和 cornerRadius。但我无法让它发挥作用。我也有 masksToBounds 到 YES。
dPicker.layer.masksToBounds=YES;
dateBtn.layer.borderWidth = 2.0;
dateBtn.layer.borderColor = [[UIColor redColor]CGColor];
dateBtn.layer.cornerRadius =5.0;
有什么解决办法吗?
Apple 不打算让您修改日期选择器的外观。如果您要联系 DTS,他们几乎肯定会告诉您日期选择器的图层和子视图是私有的,应该进行修改。引用文档:
You cannot customize the appearance of date pickers.
所以你可能运气不好。 OS 版本之间的这种行为变化正是使超出 public API 系统组件风险的事情。
下面的代码对我刚刚验证有效。
dummyDatePicker.layer.masksToBounds = true;
dummyDatePicker.layer.borderWidth = 2.0;
dummyDatePicker.layer.borderColor = UIColor.purpleColor().CGColor;
dummyDatePicker.layer.cornerRadius = 5.0;
但正如@Duncan 所说,按照 Apple 的指示自定义默认 UI 组件并不好,I have had such an issue in the past when iOS 7 came out had to rewrite the whole UIDatePicker logic :-(
非常适合我:
self.datePicker.layer.borderColor = [UIColor grayColor].CGColor;
self.datePicker.layer.borderWidth = 1.0f;
self.datePicker.layer.cornerRadius = 5.0f;
self.datePicker.layer.masksToBounds = YES;
按给定的行顺序尝试我的代码。
我正在使用 UIDatePicker,我需要在其中设置 borderWidth、borderColor 和 cornerRadius。但我无法让它发挥作用。我也有 masksToBounds 到 YES。
dPicker.layer.masksToBounds=YES;
dateBtn.layer.borderWidth = 2.0;
dateBtn.layer.borderColor = [[UIColor redColor]CGColor];
dateBtn.layer.cornerRadius =5.0;
有什么解决办法吗?
Apple 不打算让您修改日期选择器的外观。如果您要联系 DTS,他们几乎肯定会告诉您日期选择器的图层和子视图是私有的,应该进行修改。引用文档:
You cannot customize the appearance of date pickers.
所以你可能运气不好。 OS 版本之间的这种行为变化正是使超出 public API 系统组件风险的事情。
下面的代码对我刚刚验证有效。
dummyDatePicker.layer.masksToBounds = true;
dummyDatePicker.layer.borderWidth = 2.0;
dummyDatePicker.layer.borderColor = UIColor.purpleColor().CGColor;
dummyDatePicker.layer.cornerRadius = 5.0;
但正如@Duncan 所说,按照 Apple 的指示自定义默认 UI 组件并不好,I have had such an issue in the past when iOS 7 came out had to rewrite the whole UIDatePicker logic :-(
非常适合我:
self.datePicker.layer.borderColor = [UIColor grayColor].CGColor;
self.datePicker.layer.borderWidth = 1.0f;
self.datePicker.layer.cornerRadius = 5.0f;
self.datePicker.layer.masksToBounds = YES;
按给定的行顺序尝试我的代码。