将 UIDatePicker 添加到单元格内容视图
Adding UIDatePicker to cell content view
我正在尝试将 UIDatePicker 的一个实例放在 UITableView 单元格的附属视图中,并且一直遵循此 SO thread 作为模板。但是,看起来好像选择器完全放在单元格上方:
下面是我用来尝试将日期选择器添加到 UITableView 的附属视图的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellNewRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"RowCell";
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier];
}
cell.backgroundColor = [UIColor colorWithRed:0.922 green:0.937 blue:0.949 alpha:1];
switch (indexPath.row) {
case EmployeeOvertimeRow:
cell.textLabel.text = NSLocalizedString(@"Test", @"One");
_datePicker = [[UIDatePicker alloc]init];
_datePicker.datePickerMode = UIDatePickerModeTime;
//OLD: cell.accessoryView = _datePicker;
//POST EDIT
[cell.contentView addSubview:_datePicker];
break;
default:
break;
}
return cell;
}
有人对我做错了什么或如何解决这个问题有任何指导吗?
UITableViewCell
的accessoryView
肯定不是你想的那样:它是单元格右侧的小视图,通常是一个箭头,而且很小,不是为了完全是屏幕的宽度。您应该尝试将您的视图添加到 contentView
。您还需要在 heightForRowAtIndexPath
方法中为单元格设置更大的高度。
我正在尝试将 UIDatePicker 的一个实例放在 UITableView 单元格的附属视图中,并且一直遵循此 SO thread 作为模板。但是,看起来好像选择器完全放在单元格上方:
下面是我用来尝试将日期选择器添加到 UITableView 的附属视图的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellNewRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"RowCell";
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier];
}
cell.backgroundColor = [UIColor colorWithRed:0.922 green:0.937 blue:0.949 alpha:1];
switch (indexPath.row) {
case EmployeeOvertimeRow:
cell.textLabel.text = NSLocalizedString(@"Test", @"One");
_datePicker = [[UIDatePicker alloc]init];
_datePicker.datePickerMode = UIDatePickerModeTime;
//OLD: cell.accessoryView = _datePicker;
//POST EDIT
[cell.contentView addSubview:_datePicker];
break;
default:
break;
}
return cell;
}
有人对我做错了什么或如何解决这个问题有任何指导吗?
UITableViewCell
的accessoryView
肯定不是你想的那样:它是单元格右侧的小视图,通常是一个箭头,而且很小,不是为了完全是屏幕的宽度。您应该尝试将您的视图添加到 contentView
。您还需要在 heightForRowAtIndexPath
方法中为单元格设置更大的高度。