如何将UIDatePicker添加到TableViewCell?

时间:2014-11-30 19:58:35

标签: ios xcode uitableview datepicker xcode6

我在TableView中有一个tableViewCell,如果你点击它会变大,如果你再次点击它,它会回到原来的大小。

我想要它做的是,当它很大时显示一个datePicker但每次我尝试在我的代码中简单地添加一个datePicker它位于tableView的底部而不是在大单元格内。

这是我在单元格变大时添加datePicker的代码。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{

    if (indexPath.row == 0) {

        return 150.0;
    }
    else if ([self cellIsSelected:indexPath] && indexPath.row == 1 ){

                [_dateLabel removeFromSuperview];  //just the label of the cell

                // Add the picker
                UIDatePicker *pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0, 350, 200)];
                pickerView.datePickerMode = UIDatePickerModeDate;

                [_cell addSubview:pickerView];

               return kCellHeight * 4.0;

            }
    else if (![self cellIsSelected:indexPath]) {

                [_myPicker removeFromSuperview];
            }

    return kCellHeight;
}

如何将UIDatePicker添加到TableViewCell?

1 个答案:

答案 0 :(得分:0)

请在SO上查看此answer,因为它可能对您有所帮助。

请记住设置代理:

@interface YourTableViewViewController : UITableViewController <UIPickerViewDataSource, UIPickerViewDelegate>

并确保从这些方法返回值:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    return <NUM_OF_SECTIONS>;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return <NUM_OF_ROWS_IN_SECTION>;    
}

其余的,在那里是不言自明的。