2011-05-09 6 views
15

iPhone 버전의 앱에서는 UIActionSheetUIDatePicker이 있습니다. 그것은 올바르게 나타납니다. 지금은 iPad 버전의 앱을 설치 중이며 iPad에서 볼 때 UIActionSheet도 빈 상자로 나타납니다.iPad의 UIActionSheet에있는 UIDatePicker

UIDatePicker *datePickerView = [[UIDatePicker alloc] init]; 
    datePickerView.datePickerMode = UIDatePickerModeDate; 

    self.dateActionSheet = [[UIActionSheet alloc] initWithTitle:@"Choose a Follow-up Date" 
                delegate:self cancelButtonTitle:nil 
            destructiveButtonTitle:nil otherButtonTitles:@"Done", nil]; 

    [self.dateActionSheet showInView:self.view]; 
    [self.dateActionSheet addSubview:datePickerView]; 
    [self.dateActionSheet sendSubviewToBack:datePickerView]; 
    [self.dateActionSheet setBounds:CGRectMake(0,0,320, 500)]; 

    CGRect pickerRect = datePickerView.bounds; 
    pickerRect.origin.y = -95; 
    datePickerView.bounds = pickerRect; 
+2

질문은 내가 애플이 Popovers를 사용하는 사용자를 예상하는 방법을 이해하는데 도움을 준

내가 사용하고있는 코드입니다 iPad의 ActionSheets는 설명서보다 훨씬 뛰어납니다. 고맙습니다. – decoy

+0

전체 답변을 확인하십시오. https://stackoverflow.com/a/7343106/815179 – Narayana

+0

감사합니다. @Narayana,하지만이 질문은 6 년 전이었습니다 :-) – Chris

답변

21

내가 아이 패드 팝 오버에 대한 별도의 코드 세그먼트를 만들어 결국 :

//build our custom popover view 
UIViewController* popoverContent = [[UIViewController alloc] init]; 
UIView* popoverView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 344)]; 
popoverView.backgroundColor = [UIColor whiteColor]; 

datePicker.frame = CGRectMake(0, 44, 320, 300); 

[popoverView addSubview:toolbar]; 
[popoverView addSubview:datePicker]; 
popoverContent.view = popoverView; 

//resize the popover view shown 
//in the current view to the view's size 
popoverContent.contentSizeForViewInPopover = CGSizeMake(320, 244); 

//create a popover controller 
UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:popoverContent]; 

//present the popover view non-modal with a 
//refrence to the button pressed within the current view 
[popoverController presentPopoverFromBarButtonItem:self.navigationItem.leftBarButtonItem 
          permittedArrowDirections:UIPopoverArrowDirectionAny 
              animated:YES]; 

//release the popover content 
[popoverView release]; 
[popoverContent release]; 
+1

이것은 훌륭하지만 예상되는 날짜 선택 도구 위에 빈 흰색 상자가 나타납니다. 아무도 내가 어떻게이 부동산을 사용할 수 있는지 알고 있니? 여기에 제목을 지정하고 싶습니다. – AbuZubair

+0

@AbuZubair CGRect에 음수 값을 설정하면 레이블이 사용되지 않는 공간에 표시 될 수 있습니다 (해킹되지만 작동 할 수도 있음). : - / –