2011-01-31 1 views
1

UIActionSheet를 사용하여 사용자에게 선택지를 제시합니다. 그것은 아이폰과 아이팟 터치에서 잘 작동하지만, iPad에서 "취소"옵션은 항상 숨겨져 있습니다. 즉, 옵션이있는 "대화 상자"가 나타나지만 "취소"버튼이 없습니다.UIActionSheet cancelButtonTitle ipad

여기에 코드입니다 :

self.popupQuery = [[[UIActionSheet alloc] initWithTitle:title 
               delegate:self 
             cancelButtonTitle:cancelButtonTitle 
           destructiveButtonTitle:nil 
             otherButtonTitles:option0, option1, cancelButtonTitle, nil] autorelease]; 

UIActionSheet docs 상태 :

cancelButtonTitle : 취소 버튼의 제목입니다. 이 버튼은 자동으로 작업 시트에 추가되고 cancelButtonIndex 속성에서 사용할 수있는 적절한 색인이 지정됩니다. 이 단추는 검은 색으로 표시되어 취소 작업을 나타냅니다. 취소 버튼을 원하지 않거나 iPad에 액션 시트를 표시하려면 nil을 지정하십시오.

나는 아무 일도하지 않으므로 어떤 일이 일어나는지 명확하지 않습니다. 이거 버그 야?

+0

[아이 패드 취소 버튼을 표시하지 않는 작업 시트 (가능 중복 http://stackoverflow.com/questions/2760545/action-sheet-doesnt- show-cancel-button-on-ipad) – BoltClock

+0

"cancelButtonTitle"의 값은 무엇입니까? nil이면 버튼이 표시되지 않습니다. – WrightsCS

답변

6

UIActionSheet를 표시하는 방법에 따라 다를 수 있지만 UIActionSheet 외부를 두드리는 것은 iPad의 취소 버튼입니다.

UIActionSheet를 표시하는 다른 방법이있을 수 있지만 기본값을 사용하면 취소 단추가 표시되지 않습니다.

편집 :

a very similar questionanother answer에 따르면, 당신은 취소 버튼은 아이폰 OS 4.2에 표시 할 수 있습니다 전에 다음 코드를 사용하여. iOS 4.2.1에서는 이것이 변경된 것으로 보이며 더 이상 작동하지 않습니다.

actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque; 

하거나 :

actionSheet.actionSheetStyle = UIActionSheetStyleDefault; 
+0

고맙습니다, 모쉐. 그래, 질문은 속임수 야. 나는 어떻게 다른 q를 놓쳤는 지 잘 모르겠다. –