相关文章推荐
本文详细介绍了如何在iOS应用中使用UIPickerView和UIDatePicker组件,并提供了隐藏和显示分割线的方法。通过代理方法和子视图遍历,可以灵活地调整这些组件的视觉效果。 摘要生成于 ,由 DeepSeek-R1 满血版支持,

UIPickerView操作分隔线需要在代理方法中操作

//隐藏分割线
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
    ((UILabel *)[pickerView.subviews objectAtIndex:1]).hidden = YES;//隐藏分隔线
    ((UILabel *)[pickerView.subviews objectAtIndex:2]).hidden = YES;//隐藏分隔线
    return _items[row];
//显示分隔线
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
    ((UILabel *)[pickerView.subviews objectAtIndex:1]).backgroundColor = color;//显示分隔线
    ((UILabel *)[pickerView.subviews objectAtIndex:2]).backgroundColor = color;//显示分隔线
    return _items[row];

UIDatePicker

UIDatePicker可以调用下面方法来操作

//隐藏分割线
- (void)clearSpearatorLine {
    for (UIView *subView in self.datePicker.subviews) {
        if ([subView isKindOfClass:[UIPickerView class]]) {
            for (UIView *subView2 in subView.subviews) {
                if (subView2.frame.size.height < 1) {//取出分割线view
                    subView2.hidden = YES;//隐藏分割线
//隐藏分割线
- (void)clearSpearatorLine {
    for (UIView *subView in self.datePicker.subviews) {
        if ([subView isKindOfClass:[UIPickerView class]]) {
            for (UIView *subView2 in subView.subviews) {
                if (subView2.frame.size.height < 1) {//取出分割线view
                    subView2.backgroundColor = color;//显示分割线



作者:月球上的人已被使用啦
链接:https://www.jianshu.com/p/f28c3f605a07
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

用简单有趣的表述、生动鲜活的图表、严谨而不枯燥的逻辑让你瞬间懂得Apple开发中(侧重于SwiftUI以及调试)的痛点、难点问题。 拒绝原封不动的抄袭!所有分析过程和解决方案都经笔者亲自验证,并及时更新,保证有理有据、真实可靠、你值得拥有 ;) 侯佩的秒懂百科,让编程如此简单!

SwiftUI 如何定制 Picker 视图当前选中行的背景颜色?
 
推荐文章