2013-08-23 1 views
0

나는 "사용자 경험"의 관점에서 흥미 롭다. 뒤로 버튼을 비활성화하고 어떤 조건이 사실 일 때 다른 버튼을 나타나게하는 것이 좋다?조건이 true가되면 ios에서 뒤로 버튼을 사용하지 않는 것이 좋은 사용자 환경입니까?

예 3 개의보기 A, B, C가 있습니다. 처음에는 조건 = 거짓입니다. 나는 A -> B로 간다. 나는 B에서 어떤 것을 바꿔 놓고 그 조건은 사실이된다. 이 경우보기 A로 돌아가서보기 C로 이동할 수있는 가능성을 비활성화하고 싶습니다.

내 질문은 어떻게 할 수 있습니까? 뒤로 버튼을 숨기고이 장소에서보기 C로 이동하는 데 사용할 수있는 버튼을 만듭니다. 아니면 그냥 뒤로 버튼을 사용 중지하고 C로 이동하는 버튼을 사용 설정 하시겠습니까?

답변

3

네비게이션 컨트롤러에는 좋지 않습니다. 이런 식으로 사용자를 멀리하는 것이 결코 좋은 생각이 아닙니다. 그들이 어떤 식 으로든 선택을 취소하도록 허용하십시오. 그것은 또한 항법 관제사를위한 정확한 은유가 아니다.

탐색 컨트롤러없이이 작업을 수행하는 한 가지 방법은 이전에 숨겨진 컨트롤을 선택하여 표시하는 것입니다. 선택 앱을 만들 때 더 많은 UI가 표시되는 날짜 및 시간과 같은 설정 앱을 살펴보십시오.

+0

+1. iOS의 관용적 인 상호 작용과 일치해야합니다. –

1

@nevanking이 말했듯이, 나는 또한 사용자에게 좋은 경험이 아니라고 생각하지만 어쨌든 필요하다면 어떻게 될까?

UIButton에 "뒤로"와 같은 제목이 있거나 "Go to C"상태 인 경우 특정 조건에 맞게 태그를 유지해야하므로 공통적으로 IBAction을 확인할 수 있습니다. 팝 또는 푸시 중 하나를 선택하십시오. "Back"및 "Go to c"옵션에 대해 이미지를 사용하는 경우에도 동일한 작업을 수행 할 수 있습니다.

#define BACK_BUTTON_TAG 1 
#define PUSH_BUTTON_TAG 2 

마십시오 당신이 C에서 당신이 popToRoot의 옵션 (에 사용자를 제공해야 밀어 viewcontrolles의 스택을 유지했습니다 것을 btn.tag = BACK_BUTTON_TAG; 또는 btn.tag = PUSH_BUTTON_TAG;

-(IBAction) doWhatIChoose { 
    if(btn.tag == BACK_BUTTON_TAG) { 
     //pop to A 
    }else{ 
     //push to C 
    } 
} 

주, 당신의 상태에 태그 기본 설정 즉 A) 또는 뒤로 이동 (B) 버튼 상태를 유지해야합니다.

1

아니요. 사용자가 버튼을 사용할 것으로 예상하고 BACK은 안전망과 같을 것입니다.

일반적으로 비활성화 된 버튼은 마음에 들지 않지만 사용하는 경우 비활성화 된 버튼은 앞으로 나아갈 때 (예 : 주문하기 또는 시리즈 진행하기)에만 사용합니다.

iOS에서는 '뒤로'버튼을 사용할 수 있지만 왼쪽 상단에서는 사용할 수없는 경우가 있습니다. 이는 사용자 정의 UI (예 : 일련의 점)가있는 경우에만 가능하며 이전 모드는 더 이상 액세스 할 수 없습니다.

+0

감사합니다. 컨트롤러 A (애니메이션) -> B (움직이지 않음) -> C (애니메이션)를 누르면, 사용자는 B에 없었던 느낌을 갖게됩니다. 그런 다음 " Back "을 선택하면 B (애니메이션)로 다시 팝됩니다. 그것은 좋은가 아니면 적어도 받아 들일 수 있는가? – zyxel

+0

정확히 무슨 뜻인지 알지 못하면 대답하기가 어렵습니다. 왼쪽 상단 툴바의 "

+0

"<뒤로 가기"버튼 일 수 없습니다. 제목은보기의 제목 일 수 있습니다 : " zyxel

관련 문제