2010-12-16 3 views
12

iPhone 홈 화면에서 앱을 삭제하면 나타나는 알림보기에 왼쪽에 삭제 버튼이 표시되고 오른쪽에는 취소가 표시됩니다. 그러나 UIAlertView를 사용하여 내 응용 프로그램 내에서 삭제 기능을 빌드 할 때 단추는 왼쪽의 취소 및 오른쪽의 삭제 표시하는 것 같습니다.UIAlertView에서 취소 버튼의 위치가 변경 되었습니까?

내 앱이 OS와 일관성이 있기를 원하지만 취소 버튼을 먼저 표시하는 방법을 알아낼 수 없습니다. 아는 사람 있나요?

UIAlertView *alert = [[UIAlertView alloc] 
         initWithTitle:@"Delete Song" 
         message:@"Are you sure you want to delete this song? This will permanently remove it from your database." 
         delegate:self 
         cancelButtonTitle:@"Cancel" 
         otherButtonTitles:@"Delete", nil]; 

alert.cancelButtonIndex = 1로 설정했는데 아무 효과가 없습니다.

답변

4

애플이 홈 화면에서 경고보기를 사용했을 가능성이있는 이유는 사용자가 일단 제거하고있는 앱을 평가하도록 요구했기 때문입니다. 취소 버튼이 밝은 색으로 표시되면 이는 앱과 데이터를 삭제하는 파괴적인 동작으로 간주되기 때문입니다.

제목을 뒤집어서 다른 버튼을 클릭 할 수 있습니다. (애플이 똑같이했는지는 확실하지 않습니다.) 그것은 조금 어색한 것입니다; 대신 액션 시트를 사용하는 방법은?

+0

흠, OS의 다른 부분에서 표준이 무엇인지 알고 계십니까? 나는 이것을 찾기위한 다른 예를 생각할 수 없다. 어쨌든, 홈 화면에서 앱을 삭제하는 것이 비표준 설정을 사용하는 경우, 그와 일치시킬 필요가 없습니다. – arlomedia

+0

@arlomedia : 다른 삭제 알림을 보지 못했습니다. SMS 및 캘린더 알림은 SDK와 마찬가지로 왼쪽에 취소 (닫기) 버튼을 배치합니다. AFAIK, 사진, 연락처, 캘린더 이벤트, 메모, iPod 재생 목록 등 뭔가를 삭제하는 다른 곳에서는 작업 시트를 사용합니다. – BoltClock

+0

좋아요, 그럼 그냥 그대로 두겠습니다. 정보 주셔서 감사합니다. – arlomedia

52

아,이 변경 방법을 알아 냈습니다. 취소 버튼을 당신이 이런 식으로, 당신이 원하는 위치에 사용자 정의 버튼을 추가 한 다음 그것을 지정할 수 있도록 cancelButtonTitle 인수는 선택 사항입니다 :

상의 삭제 버튼을 왼쪽과 취소 버튼을두고
UIAlertView *alert = [[UIAlertView alloc] 
         initWithTitle:@"Delete Song" 
         message:@"Are you sure you want to delete this song? This will permanently remove it from your database." 
         delegate:self 
         cancelButtonTitle:nil 
         otherButtonTitles:@"Delete", @"Cancel", nil]; 
alert.cancelButtonIndex = 1; 

취소 버튼을 강조 표시합니다.

+3

+1 Apple이 내 제안에 대해 의도 한 바가 명확합니다. – BoltClock

+0

내가 이것을 볼 때까지 나는 열매가 맺히고 있다고 생각했다. 취소 버튼에 @ "NO"를 사용하고 다른 버튼 제목에는 @ "YES"를 사용하려고 시도했지만 buttonIndex 0은 취소 버튼이었습니다. 나는 정말로 사과 부분에있는 버그 이외의 다른 것으로 볼 수는 없지만, 누가 내가 짐작할 수없는 질문을 할 수 있습니까? 이 접근법은 완벽하게 작동하지만, 고마워! – FrostyL

+4

나는 이것이 더 이상 iOS 8.3 (Simulator에서)에서 작동하지 않지만 iOS 7.1에서 정상적으로 작동한다는 것을 알았습니다. 일부 애플의 경고가 여전히 * 취소 * 8.3에도 오른쪽에 취소 사실을 넣어에도 불구 하고이. (나는 그들이 그것을 어떻게하는지에 관해 궁금하게 생각한다!) –

관련 문제