如何在我的选择器视图中隐藏分隔符。这是屏幕截图。
以下是我的自定义UIPickerView的代码。
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
UILabel *label=[[UILabel alloc]init];
label.backgroundColor = [UIColor clearColor];
label.textColor = [UIColor whiteColor];
label.textAlignment=NSTextAlignmentCenter;
switch (component) {
case 0:
label.text=[_hourArray objectAtIndex:row];
label.font = [UIFont fontWithName:@"MYRIADPRO-REGULAR" size:70];
break;
case 1:
label.text=[_minutesArray objectAtIndex:row];
label.font = [UIFont fontWithName:@"MYRIADPRO-REGULAR" size:70];
break;
case 2:
label.text=[_ampmArray objectAtIndex:row];
label.font = [UIFont fontWithName:@"MYRIADPRO-REGULAR" size:15];
break;
default:
break;
}
return label;
}
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 3;
}
请帮帮我。谢谢
答案 0 :(得分:5)
隐藏UIPickerView的选择指示器:
_pickerView.showsSelectionIndicator = FALSE;
您可以在代码(如上所述)或Interface Builder中创建它:
修改强>
在iOS 7及更高版本中,您无法自定义选择器视图的选择 指示符。始终显示选择指示器,因此请进行设置 财产对NO没有影响。
答案 1 :(得分:0)
在Swift 5中,您可以使用此替代方法。只需将以下代码添加到您的viewcontroller类:
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
for i in 1...2 {
myPickerView.subviews[i].isHidden = true
}
}
答案 2 :(得分:-2)
如果确实需要,这里是一个务实的解决方案:创建UIPickerView
的子类,在其中重写didAddSubview
。如果添加的子视图的高度<= 1.0,则为分隔符,您可以隐藏和/或删除它。
注意:在将来的iOS版本中可能会中断,因此请谨慎处理。