是否可以修改 a 的选择指示器的色调UIDatePicker
?还是可以将其删除,以便我可以添加自己的选择指示器图像?
我知道在's 的情况下,UIPickerView
您可以禁用选择指示器,以便您可以提供自己的选择指示器图像。
是否可以修改 a 的选择指示器的色调UIDatePicker
?还是可以将其删除,以便我可以添加自己的选择指示器图像?
我知道在's 的情况下,UIPickerView
您可以禁用选择指示器,以便您可以提供自己的选择指示器图像。
默认情况下没有更改选择指示器颜色的选项。你可以做一个解决方法。我会添加一个简单UIView
的带有您选择的颜色和透明度的 alpha 值。根据原始选择指示器设置大小和坐标以覆盖它(尺寸为 280x44,标准选择器的坐标为 20/130 - 不确定,所以找出正确的值以防它们不匹配)。
UIView *overlayIndicator = [[UIView alloc] initWithFrame:CGRectMake(20, 130, 280, 44)];
overlayIndicator.backgroundColor = [UIColor redColor];
overlayIndicator.alpha = 0.5f;
[yourDatePicker addSubview:overlayIndicator];
希望这是你可以开始的东西。
这是我对放置在 UITableViewCell 内的 UIDatePicker 所做的,并且完全使用自动布局约束来调整大小。(我建议继承 UIDatePicker)。
let upperSelectorView = UIView()
let lowerSelectorView = UIView()
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
upperSelectorView.backgroundColor = UIColor(colorLiteralRed: 127, green: 139, blue: 131, alpha: 0.45)
self.addSubview(upperSelectorView)
lowerSelectorView.backgroundColor = UIColor(colorLiteralRed: 127, green: 139, blue: 131, alpha: 0.45)
self.addSubview(lowerSelectorView)
}
override func layoutSubviews() {
super.layoutSubviews()
print(self.frame.size.height)
if (self.frame.size.height == 216) { //height it used in portrait.
upperSelectorView.frame = CGRect(x: 0, y: 91, width: self.frame.size.width, height: 0.5)
lowerSelectorView.frame = CGRect(x: 0, y: 125, width: self.frame.size.width, height: 0.5)
}
if (self.frame.size.height == 162) { //height it used in landscape.
upperSelectorView.frame = CGRect(x: 0, y: 63, width: self.frame.size.width, height: 0.5)
lowerSelectorView.frame = CGRect(x: 0, y: 98, width: self.frame.size.width, height: 0.5)
}
}
经测试可在 iPhone 6 和 iPhone 6+ 上运行。