Добавление UIDatePicker в представление содержимого ячейки

Я пытаюсь поместить экземпляр UIDatePicker в дополнительное представление ячейки UITableView, и следую за этим потоком SO в качестве шаблона. Тем не менее, выглядит так, как будто сборщик помещается над ячейкой целиком:

Ниже приведен код, который я использую, чтобы попытаться добавить Date Picker в дополнительное представление 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 ответ

Решение

accessoryView из UITableViewCell это, конечно, не то, что вы думаете: это маленький вид справа от ячейки, обычно это стрелка, и она довольно маленькая, совсем не сделанная, чтобы быть шириной экрана. Вы должны попробовать добавить свой вид в contentView, Вам нужно будет установить большую высоту для вашей ячейки в heightForRowAtIndexPath метод тоже.

Другие вопросы по тегам