2010-03-02 2 views
1

사용자 입력이 필요하거나 어떤 유형의 정보를 표시하는 경고 양식을 표시하는 몇 가지 앱을 보았습니다. 어쨌든, "경고"의 디자인으로 판단 할 때, 나는 그들이 이것을 표시하기 위해 다른 것을 사용하고 있다고 가정합니다.더 나은 UIAlert 대화 상자

내 첫 번째 추측은 어떤 형태의 시각 이었지만 크기가 작고 기본보기의 중심에 있음을 알았습니다. 여전히 사용자 정의보기입니까? 계속 진행하기 전에 사용자 정의보기가 모달로 표시되고 해고 또는 확인을 요구하는 예제가 있습니까?

언제나처럼 모든 정보에 미리 감사드립니다.

지리 ...

답변

0

예를 들지 않고 정확히 무엇을 사용하고 있는지 말할 수 없습니다. 그러나 대부분의 경우 이러한 사용자 지정 대화 상자에 UIActionSheet이 사용됩니다.

Class Reference.

0

종종 사람들은 UIAlertView을 사용하며 메시지 필드에 많은 줄 바꿈을 넣습니다. 이것은 줄 바꿈의 수에 따라 원하는 높이를 줄 것입니다. 그런 다음 addSubview:viewToAdd을 호출하여 추가보기를 추가합니다. 나는 이것이 고통과 "해킹"이라는 것을 알고 있지만 사람들이 할 수있는 매우 일반적인 방법이되었다.

1

Here is a forum post on the topic which illustrates how to do it.는 다음 작업을 수행 할 수 모달 역할을하는 사용자 지정 경고를 만들려면 :

두 파단와의 UIView를 작성합니다. 이러한 하위 UI 중 하나는 크기가 조절 된 알파 값을 사용하여 전체 창 (예 : 320x480 크기)을 처리하여 흐리게 표시되는 콘텐츠를 표시합니다. 형제 하위보기는 경고를위한 컨테이너이며 가장 앞에 있어야합니다.

디머보기에서 이벤트를 무시하고 경고 컨테이너보기의 탭 또는 기타 이벤트에 적절히 응답하십시오.

모든 뷰 구성 및 오버레이 할 아웃 할 때, [[UIApplication sharedApplication] keyWindow]

[[[UIApplication sharedApplication]keyWindow] addSubview:myCustomAlertView]; 

주 같은에 하위 뷰를 같이 평면도를 추가하는 이유를 하나 흐리게 형제 전망에 대한 UI 이벤트를 방해합니다. 저는 슈퍼 뷰의 알파를 낮추면 하위 뷰가 해당 속성을 상속받습니다. 적어도 나는이 문제를 과거에 다뤘다. 잘못하면 고칠 것입니다.

- 지금은 모달이 아니지만 몇 초 후에 자동으로 해제되거나 touchUpInside 이벤트가 수신되면 시간 초과 전에 맞춤 알림 클래스를 만들었습니다. 그것은 탭에 응답하는 UIView 일뿐입니다. 나는 간단한 메시지를 보여주고 싶었던 애플 리케이션에 몇 가지 영역이 있다는 것을 알았지 만, 계속 나아 가기 위해서는 "OK"버튼을 누르지 않아도된다는 것을 알게되었다. 이 수업을 통해 경고가 자동 숨기기 전에 다른 활동으로 넘어갈 수 있습니다.

+0

코드를 공유하고 싶습니까? –

2

진정한 사용자 지정 UIAlertView 대체를 원한다면 UIAlertView가 소스 코드가 here 인 Quartz 드로잉의 데모로 UIAlertView 인 경우 해당 스타일로 UIView 하위 클래스를 만들었습니다. 누락 된 유일한 것은 경고보기의 사용자 정의 단추 유형입니다.

그러나 비표준 경고보기를 사용할 때는주의하십시오. 당신을 위해 제공되는 것들은 일관성있게 디자인되어있어, 사용자들은 iPhone OS 전반에 걸쳐 동일한 경험을 할 수 있습니다.OS의 나머지 부분과 다른 점을 만들면 사람들이 응용 프로그램을 사용할 때 좌절감을 유발할 수 있습니다.

+0

+1, 코드를 공유해 주셔서 감사합니다. –