当我在修改后的选择器视图中选择一个单元格时,会出现蓝色背景颜色。 我见过的所有其他踏板都没有给我一个好的答案。 有人有解决方案吗?
答案 0 :(得分:3)
pickerView.showsSelectionIndicator = NO;
答案 1 :(得分:0)
只需将UITableViewCell selectionStyle属性设置为UITableViewCellEditingStyleNone
cell.selectionStyle = UITableViewCellEditingStyleNone;
答案 2 :(得分:0)
我在选择器视图的顶部添加了工具栏,并添加了自定义按钮作为工具栏的子视图,并且选取器视图和工具栏都被添加为主视图的子视图,因此您可以处理它。
答案 3 :(得分:0)
我遇到过这个。让我们详细了解一下。要创建自定义选择器视图,请创建自定义UIView类,例如:
@interface TimeAroundView : UIView
{
NSString *title;
UIImage *image;
}
@property (nonatomic, retain) NSString *title;
@property (nonatomic, retain) UIImage *image;
@end
然后在您的自定义选择器视图控制器中创建一些容器,例如NSArray,它将获取您想要在选择器视图中表示的所有TimeAroundView对象。所以,对于你必须做的每个对象
timeAroundViewObject.userInteractionEnabled = NO;
我认为 - (id)init是填充容器的最佳位置,所以你得到这样的东西:
- (id)init
{
self = [super init];
if (self) {
// create the data source for this custom picker
NSMutableArray *viewArray = [[NSMutableArray alloc] init];
TimeAroundView *earlyMorningView = [[TimeAroundView alloc] initWithFrame:CGRectZero];
earlyMorningView.title = @"Early Morning";
earlyMorningView.image = [UIImage imageNamed:@"12-6AM.png"];
earlyMorningView.userInteractionEnabled = NO;
[viewArray addObject:earlyMorningView];
[earlyMorningView release];
TimeAroundView *lateMorningView = [[TimeAroundView alloc] initWithFrame:CGRectZero];
lateMorningView.title = @"Late Morning";
lateMorningView.image = [UIImage imageNamed:@"6-12AM.png"];
lateMorningView.userInteractionEnabled = NO;
[viewArray addObject:lateMorningView];
[lateMorningView release];
// .... (more of objects)
self.customPickerArray = viewArray;
[viewArray release];
}
return self;
}
在你的pickerView:viewForRow:forComponent:reusingView:你只需从数组返回适当的元素。 这对我有用。