2015-02-02 6 views
0

UITablePicker의 인스턴스를 UITableView 셀의 액세서리보기에 넣으려고하는데 다음과 같이이 SO thread을 템플릿으로 사용하고 있습니다.셀 내용보기에 UIDatePicker 추가하기

아래 enter image description here

내가 jQuery과의 액세서리 뷰에 날짜 선택을 추가하려고 사용하고 코드는 다음과 같습니다 : 피커는 전체 셀 위에 위치하는 경우 그러나, 그것은 보이는

- (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; 
} 

내가 뭘 잘못하고 어떻게 해결할 지에 대한 지침이있는 사람이 있습니까?

답변

0

UITableViewCellaccessoryView은 분명히 여러분이 생각하는 것과 다르며 일반적으로 셀 오른쪽의 작은보기입니다. 화살표이며, 화면의 너비가 아닌 아주 작습니다. contentView에보기를 추가해야합니다. heightForRowAtIndexPath 방법으로 셀의 높이를 더 높게 설정해야합니다.

+0

감사합니다. Emilie, 액세서리보기에 대해 혼란 스러웠던 이유는 코드의 다른 부분 (상속받은 것) 이었기 때문에 UISwitch가 셀의 액세서리보기에 추가되어 UIDataPicker로 복제하려고했습니다. . 문제가되는 행을 다음과 같이 변경했습니다. [cell.contentView addSubview : _datePicker]; 그러나 현재로서는 heightForRowAtIndexPath 메서드가 구현되지 않았으므로 heightForHeaderInSection 메서드 만 구현 했으므로이를 변경해야합니다. – narner