如何去掉UIPickerView及UIDatePickerView中的分割线
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何去掉UIPickerView及UIDatePickerView中的分割线相关的知识,希望对你有一定的参考价值。
可以通过Reveal查看视图层级结构发现分割线为两个高为0.5的UIView,那么通过遍历subViews拿到并隐藏这两个view及可去掉分割线。下面分别介绍一下UIDatePickerView和UIPickerView的去除方法:1、UIDatePickerView
为了方便复用可以创建一个UIDatePickerView的分类,代码如下:
#import "UIDatePicker+myPicker.h"
@implementation UIDatePicker (myPicker)
- (void)clearSpearatorLine
for (UIView subView1 in self.subviews)
if ([subView1 isKindOfClass:[UIPickerView class]])//取出UIPickerView
for(UIView subView2 in subView1.subviews)
if (subView2.frame.size.height < 1)//取出分割线view
subView2.hidden = YES;//隐藏分割线
@end
2、UIPickerView
和UIDatePickerVIew不同的是UIPickerView的代理方法加载之前它的subViews为空,所以一开始的时候我们无法取到分割线。
经测试可以在下面的代理方法中获取到
- (UIView )pickerView:(UIPickerView )pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView )view
PickerCell cell = [PickerCell cellWithRow:row];
[pickerView clearSpearatorLine];//UIPickerView分类方法
return cell;
参考技术A 这个pickerView是在pickerViewController这个UIViewController中。
//获取选中的列中的所在的行
NSInteger row=[_pickerViewController.pickerView selectedRowInComponent:0];
//然后是获取这个行中的值,就是数组中的值
NSString *value=[_pickerViewController.array objectAtIndex:row];
以上是关于如何去掉UIPickerView及UIDatePickerView中的分割线的主要内容,如果未能解决你的问题,请参考以下文章