2010-06-15 2 views
2

모든 것이 UIDatePicker가 포함 된 UIActionSheet에 훌륭하게 작동하는 것 같습니다. 단, DatePicker의 아래쪽 절반은 사용할 수 없습니다. 시각적으로 피커의 아래쪽 절반이 위쪽 절반보다 어둡게 만드는 그림자가 있습니다. 아래쪽 절반에있는 모든 것들이 무능력하고 나는 그 삶의 방식으로 그것을 가능하게하는 방법을 찾아 낼 수 없다.UIDatePicker가 비활성화 된 사용자 정의 UIActionSheet의 아래쪽 절반이 왜입니까?

버튼이있는 다른 "일반"UIActionSheets에서도 취소 버튼의 아래쪽 절반이 비활성화되어 있습니다.

내 사용자 정의 UIActionSheet 코드입니다 : 나는 등 sendSubviewToBack, BringSubviewToFront, 등 여러 가지를 시도했습니다

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

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

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

CGRect pickerRect = self.datePickerView.bounds; 
pickerRect.origin.y = -95; 
self.datePickerView.bounds = pickerRect; 

하지만 난 운이 없었어요. 도와 줘서 고마워!

다음은 스크린 샷입니다. 나는 설명을 위해 빨간 박스를 추가했다. alt text http://gorgando.com/UIActionSheet%20Problem.png

답변

1

액션 시트를 적절한 showXXX 기능과 함께 표시했는지 확인하십시오. UITabBar에서 액션 시트를 표시 할 때 비슷한 문제가 있습니다. 그래서이 경우 UIActionSheet 방법 -showFromTabBar:을 사용하십시오.

+0

제안 해 주셔서 감사합니다. 방금 시도한이 [self.actionSheet showFromTabBar : self.tabBarController.tabBar]; 내 이전 [self.actionSheet 대신 showInView : self.tabBarController.view]; 나는 똑같은 결과를 얻었다. 문제는 UIActionSheet 자체가 사용자 상호 작용을 허용하지 못하도록 막는 것과 관련이 있어야한다고 생각합니다. – Brad

+1

다시 읽어 보니 질문이됩니다. UIView에 날짜 선택기 등을 추가하고 화면 맨 아래에서 수동으로 위아래로 애니메이션을 만드는 것이 훨씬 낫습니다. 나는 이런 식으로 사용 된 UIActionSheet를 성공시키지 못했습니다. 애플도 그걸 제안 할 것이라고 생각하지 마라. – petert

+0

나는 당신이 UIView로 제안한 것을했습니다. 감사! – Brad

6

테두리 대신 UIDatePicker에서 프레임을 설정해보십시오. 나는 원점을 -95로 설정했을 때 이상한 일이 벌어지고 있다고 생각합니다.

+0

이것은 나를 위해 일했다. 그러나 당신은 프레임과 함께 +95를 가야한다. -95가 아니다. – Chris

+0

좋은 답변입니다. 액션 시트는 showInView 뒤에 경계를 설정하면 애니메이션 중간입니다. 이미 최종 센터가 계산되었으며 범위를 설정해도 업데이트되지 않습니다. 설정 프레임 (가운데와 경계를 모두 설정)은 않습니다. – smparkes

관련 문제