對UIPickerView進行自定義旗笔,下面是改變其分割線顏色的方法彪置,原理就是找到UIPickerView的子View高度小于1的View,然后改變線的顏色蝇恶,即可實現拳魁,此外在
iOS10下分割線顏色默認是透明的。
注意:這個方法只有放到下面的方法才有效果撮弧,獲取
pickerView:viewForRow:forComponent:reusingView:
中定義的View潘懊,當
pickerView:viewForRow:forComponent:reusingView:
未實現或者行或分組不可用時返回nil。
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
[self changeSpearatorLineColor];
}
#pragma mark - 改變分割線的顏色
- (void)changeSpearatorLineColor
{
for(UIView *speartorView in picker.subviews)
{
if (speartorView.frame.size.height < 1)//取出分割線view
{
// 本人做法
UIView *view =[UIView alloc]initWithFrame:CGRectMake(0,0,k_SCREEN_WIDTH,0.667)];
view.backgroundColor = [UIColor colorWithDisplayP3Red:0.5 green:0.5 blue:0.5 alpha:1.0];// iOS10 sRGB
[speartorView addSubView:view];
// 此方法不可行贿衍,pickView 整個會被渲染授舟;
speartorView.backgroundColor = [UIColor colorWithDisplayP3Red:0.5 green:0.5 blue:0.5 alpha:1.0];// iOS10 sRGB 渲染
}
}
}