将 UIDatePicker 添加到单元格内容视图
Posted
技术标签:
【中文标题】将 UIDatePicker 添加到单元格内容视图【英文标题】:Adding UIDatePicker to cell content view 【发布时间】:2015-02-02 17:40:49 【问题描述】:我正在尝试将 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;
有人对我做错了什么或如何解决这个问题有任何指导吗?
【问题讨论】:
【参考方案1】:UITableViewCell
的accessoryView
肯定不是你想的那样:它是单元格右侧的小视图,通常是一个箭头,而且非常小,不是屏幕的宽度一点也不。您应该尝试将您的视图添加到contentView
。您还需要在 heightForRowAtIndexPath
方法中为您的单元格设置更大的高度。
【讨论】:
谢谢 Emilie,我对附件视图感到困惑的原因是在代码的其他地方(我继承的),一个 UISwitch 被添加到单元格的附件视图中,所以我试图用 UIDataPicker 复制它。我将违规行更改为: [cell.contentView addSubview:_datePicker];但是,目前,我没有实现 heightForRowAtIndexPath 方法,只有 heightForHeaderInSection 方法,所以我需要更改它..以上是关于将 UIDatePicker 添加到单元格内容视图的主要内容,如果未能解决你的问题,请参考以下文章
iOS 以编程方式为表格视图单元格内容创建 NSLayoutConstraint