2013-04-06 3 views
0

로 스크롤에서 UIDatePicker을 유지 정말 간단한 문제처럼 보인다,하지만 난 아직 해결책을 못 찾았 : 나는 특정 테이블 뷰 셀이 선택 될 때 보여주는 UIDatePicker의 TableView

. I는 다음과 같은 코드로 표시 : 선택기가 표시 될 때마다

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if (indexPath.section == 1) { 
     switch (indexPath.row) { 
      case 0: { 
       _alarmPicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 315, 320, 0)]; 
       [_alarmPicker setDatePickerMode:UIDatePickerModeTime]; 
       [_alarmPicker addTarget:self action:@selector(alarmPickerChanged) forControlEvents:UIControlEventValueChanged]; 
       [self.view addSubview:_alarmPicker]; 
      } 
       break; 

      default: 
       break; 
     } 
    } 
} 

문제가되고, 그 나머지 테이블에 상하 스크롤. 선택기가 선택되었을 때 테이블보기에서 모든 스크롤을 단순히 해제하는 것 이외에도 선택기를 고정 된 상태로 유지할 수 있지만 테이블을 스크롤 할 수있게하려면 어떻게해야합니까?

+0

인가를? – MishieMoo

답변

1

당신은 키 윈도우에 추가 할 수 있습니다

[[[UIApplication sharedApplication] keyWindow] addSubview:_alarmPicker]; 

따라서는 상단에있을 것입니다. 테이블보기에 추가했습니다 (사용자가 UITableViewController을 사용한다고 가정).

0

iOS 6을 사용하는 경우 UIDatePicker와 self.view.superview 사이에 제약 조건을 설정할 수 있습니다. 이렇게하면 날짜 선택 도구가 이동하지 않습니다. 즉, 수퍼 뷰에 고정됩니다. 내가 이것을 발견 된 일부 시험 후

1

나를 위해 매우 쉽게 일 : [self.window addSubview:picker];

을 그때 사용 피커 제거 : [picker removeFromSuperview];보기 컨트롤러가`UITableViewController` 서브 클래스

관련 문제