2012-07-02 5 views
1

검색 한 결과 내 문제에 대한 답을 찾을 수 없습니다.iPad UIActionSheet 크기 문제

UITextField을 입력 할 때 다음 코드를 사용하여 UIDatePicker을 팝업하고 있습니다. iPhone에서 완벽하게 작동합니다.

mySheet = [[UIActionSheet alloc] initWithTitle:nil delegate:nil cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil]; 
[mySheet setActionSheetStyle:UIActionSheetStyleBlackTranslucent]; 

CGRect pickerFrame = CGRectMake(0, 44, 0, 0); 

UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:pickerFrame]; 
[datePicker setDatePickerMode:UIDatePickerModeTime]; 

if (whatPressed == 1) { 
    [datePicker setDate:startDate]; 
} 
else 
{ 
    [datePicker setDate:endDate]; 
} 


[mySheet addSubview:datePicker]; 

UIToolbar *controlToolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, mySheet.bounds.size.width, 44)]; 
[controlToolBar setBarStyle:UIBarStyleBlack]; 
[controlToolBar sizeToFit]; 

UIBarButtonItem *spacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; 
UIBarButtonItem *setButton = [[UIBarButtonItem alloc] initWithTitle:@"Set" style:UIBarButtonItemStyleDone target:self action:@selector(dismissDate)]; 
UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithTitle:@"Cancel" style:UIBarButtonItemStyleBordered target:self action:@selector(cancelDate)]; 

[controlToolBar setItems:[NSArray arrayWithObjects:spacer, cancelButton, setButton, nil] animated:NO]; 
[mySheet addSubview:controlToolBar]; 

[mySheet showInView:self.view]; 

[mySheet setBounds:CGRectMake(0, 0, 320, 485)]; 

이제 iPad 버전과 동일한 코드를 사용하려고하는데 뷰가 표시되지만 충분히 높지 않습니다. CGRect 값을 변경하려고했지만 효과가없는 것 같습니다.

보기는 iPhone의 너비와 높이가 약 1cm 인 것으로 보입니다. 혼란스러워.

감사합니다.

+1

'showFromRect : inView : animated :'메소드는 iPad에서 더 나은 선택입니다. –

+0

고마워요 @ 케빈 그랜트 나는 그것을 풀어주고 당신에게 돌아갑니다. – Tony

+0

나는이 UIDatePicker를 표시하기 위해 수많은 방법을 시도했습니다. 결국 나는 포기하고 iPad의 대형 화면을 사용하여 UIDatePicker를 직접 표시했습니다. 어쨌든 고마워요 ... 이것은 매우 이상한 행동입니다. 누군가가 수정을 알고 있기를 바랍니다. – Tony

답변

0

iPad에서이 방법은 팝업 시트에 작업 시트를 표시하고 팝 오버의 팝업보기 목록에 버튼을 소유 한 툴바를 추가합니다. 따라서 도구 모음의 탭을 누르면 해당 도구 모음 항목의 동작 메서드가 호출됩니다. 다른 툴바 아이템을 두드렸을 때 popover가 해제되기를 원한다면 액션 핸들러 메소드에서 그 동작을 구현해야합니다.