2013-07-29 2 views
0

세 가지 행동이 사진을 촬영하여, 라이브러리 및 cancel.Take 사진 선택 라이브러리에서 보이고을 선택하지만, 문제가 위치를 표시하지 않았다 취소 UIActionsheet 요청합니다. 이 내 코드UIActionSheet에서 취소 버튼이 아이폰에 표시되지 않습니까? 내가 변경 이미지 그것의 클릭 내 응용 프로그램에서

- (void)viewDidLoad 
{ 
     [super viewDidLoad]; 
     UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select Image from..." 
     delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Take Photo", @"Choose from library", nil]; 
     actionSheet.actionSheetStyle = UIActionSheetStyleBlackTranslucent; 
     actionSheet.actionSheetStyle = UIActionSheetStyleDefault; 
     [actionSheet showInView:self.view]; 
} 
+0

당신은'{'을 두 번 사용하고'} '를 한 번 사용합니다. – Daniel

+0

이 코드는 문제가 아닙니다. 새 프로젝트를 만들고 코드를 정확히 사용했습니다 (단 하나의 {'). 그것은 예상대로 작동합니다. 밝은 회색의 "사진 찍기"와 "라이브러리에서 선택", 그리고 "이미지 선택"이라는 제목의 어두운 회색의 "취소"버튼이있는 작업 시트가 있습니다. – Daniel

+0

앱에서 tabBar를 사용 했습니까? ? – Apple

답변

2

그것을 ... 난 당신이보기 크기로 기본보기 크기의 레티 나 4 전체 화면을 사용하고 생각하기 때문에 ... Attributes inspector에서 Retina 3.5 전체 화면으로보기 크기를 변경하십시오 ... !!!

+0

네, 당신이 말한 문제가 맞습니다. 모두 감사합니다. – user2576173

+0

질문에있는 코드는 iPhone 3,5 "및 iPhone 4"(테스트 완료)에서 작동합니다. – Daniel

1

이 하나를 시도 ... 당신은 class reference에서 액션 시트를 제시하기위한 대체 방법을 살펴 할 수 있습니다

UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select Image from..." 
                 delegate:self 
               cancelButtonTitle:@"Cancel" 
              destructiveButtonTitle:@"Cancel" 
               otherButtonTitles:@"Take Photo", @"Choose from library", nil]; 

    actionSheet.actionSheetStyle = UIActionSheetStyleBlackTranslucent; 
    actionSheet.actionSheetStyle = UIActionSheetStyleDefault; 
    [actionSheet showInView:self.view]; 
+0

커플 일을 기준으로, 당신은 대리인에게 ID를 캐스팅 필요 없어, 파괴 버튼 취소 버튼으로 동일하지 않습니다,이 코드는 여전히 하나의 스타일 설정을 유지 옵션을 선택한 다음 즉시 다른 것으로 설정하십시오. –

+0

나는 그것은 예외 2013년 7월 29일 16 던지고 시도했다 @Abhijith : 인해 *** 응용 프로그램을 종료 21 : 48.273 TestIGate [14936 : C07] actionSheet 2013년 7월 29일 16 : 21 : 49.087 TestIGate [C07 14936]를 캐치되지 않는 예외 'NSInvalidArgumentException', 이유 : '소스 유형 (1)을 사용할 수 없습니다' *** 먼저 던져 호출 스택 : (0x1c9f012 0x10dce7e 0x2249d9 0x4278 0x416d 0x4012c1 0x10f0705 0x27920 0x278b8 0xe8671 0xe8bcf 0xe7d38 0x5733f 0x57552 0x353aa 0x26cf8 0x1bfadf9 0x1bfaad0 0x1c14bf5 0x1c14962 0x1c45bb6 0x1c44f44 0x1c44e1b 0x1bf97e3 0x1bf9668 0x2465c는 0x28fd 0x2825) 의 libC++ abi.dylib : – user2576173

+0

이 유 프로젝트에 ARC를 사용하지 않는 예외 (lldb)을 던지는라고 종료? –

1

입니다. 그러나

actionSheet.actionSheetStyle = UIActionSheetStyleBlackTranslucent; 
actionSheet.actionSheetStyle = UIActionSheetStyleDefault; 

는 오직 액션 시트 스타일의 존재의 기본가 발생합니다 다음 사용

– showFromBarButtonItem:animated: 
– showFromToolbar: 

또한 (당신이 도구 모음이있는 경우) 다음 중 하나를 사용하여 시도 할 수 있습니다.

0

this link을 참조하십시오.

그리고 당신은 또한 코드 아래를 참조 할 수 있습니다, 그것은 당신을 도울 수 있습니다

(void)viewDidLoad 
    { 

    UIActionSheet * actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select Image from..." delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Take Photo", @"Choose from library", nil]; 
    [actionSheet showInView:self.view]; 

    } 
+0

취소 버튼이 위 코드와 함께 나타나지 않습니다. – user2576173

+0

위의 링크를 확인하십시오. 그 UIActionSheet의 예 – Mital

0

문제가 코드와 관련이 없으므로 UIActionSheet를 표시하는 데 잘못된 방법을 사용하고있을 수도 있습니다.

는 UIActionSheet는 다음과 같은 방법으로 표시 할 수 있습니다

– showFromTabBar: 
– showFromToolbar: 
– showInView: 
– showFromBarButtonItem:animated: 
– showFromRect:inView:animated: 

Apple's UIActionSheet reference를보십시오. 당신이 TabBar의를 사용하기 때문에

, 취소 버튼도 아래에있을 수 있습니다. 나는 그것을 시험 할 것이다.

+0

위의 방법에 대한 샘플 코드를 입력하십시오. – user2576173

+0

아마도 당신은 시도 할 수 있습니다 :'[actionSheet showInView : [UIApplication sharedApplication] .keyWindow];'. 이것이 문제가되는 경우 TabBar의 문제를 해결할 수 있습니다. – Daniel