그래서 iPhone 용으로 개발할 앱과 관련하여 흥미로운 디자인 문제가 있습니다. 이미지를 조작하는 앱을 만들고 있는데, 수행 할 수있는 다양한 유형의 조작이 있습니다. 따라서 사용자는 앱을 열고 어떤 유형의 조작을 수행할지 선택하고 단계별 절차를 통해 조작을 수행합니다.iOS App에 관한 복잡한 디자인 질문
많은 조작이 비슷하므로 코드를 여기에서 다시 사용할 수 있습니다. 따라서 각 조작의 각 창에 대한보기 제어기를 작성하는 대신 하나의보기와 하나의보기 제어기를 작성하기로했습니다. 뷰에는 각 이미지 조작 단계가 포함되어 있으며 다음 단계로 넘어갈 때마다 이미지 자체를 적절하게 재구성합니다. 뷰 컨트롤러는 네비게이션 컨트롤러에 의해 제어되며 사용자가 수행하려는 이미지 조작의 다음 단계로 넘어갈 때마다 (예 : 스택에 새 뷰 컨트롤러를 밀어 넣음) 뷰 객체의 복사본을 만듭니다 , 해당 구성 요소를 적절한 단계로 재구성하도록 설정 한 다음,이를 표시 할 새보기 제어기로 보내십시오.
내 질문에, 조작의 몇 가지 단계에 대한 컨트롤러를 볼 수있는 보편적 인 도구 모음에 일부 단추를 추가해야합니다 (모달보기이므로이 도구 모음에 홈 단추가 있습니다. 사용자가 기본 화면으로 돌아갈 수있게 해줍니다). 기본적으로이 방법에 접근하는 방법에 대한 몇 가지 질문이 있습니다.
1)보기 컨트롤러 대신 사용중인보기에 도구 모음을 추가해야합니까? 그렇다면 툴바의 홈 버튼을 어떻게 모달 뷰에서 빠져 나올 수 있습니까?
2) 뷰 컨트롤러에 툴바를 유지하고 뷰를로드 할 때 뷰에 일련의 단추를 추가해야합니까? 그런 다음 내 모든보기 메서드를 내 View Controller에 나열해야 할 것 같습니까?
3) 뷰 컨트롤러에 툴바를 유지해야하지만 툴바에서 뷰 객체에 포인터를 보내고 뷰 클래스 내에 버튼을 추가해야합니까? 내 뷰 클래스에 내 액션 메서드를 추가 할 수 있습니까?
불편을 끼쳐 드려 죄송합니다. 궁금한 사항이 있으면 알려 주시기 바랍니다.
프로세스가 진행되는 동안 툴바가 표시됩니까? 그렇다면 다른 펜 안에 중첩 된보기 컨트롤러를 만드는 것이 가장 좋습니다. 이렇게하면 포인터 위치와 관련하여 바뀌지 않는 상단에 도구 모음이 있습니다. 그 아래의 영역은 자체보기 컨트롤러를 통해 필요에 따라 수정할 수 있습니다. – justin
내가 만드는 각보기 컨트롤러 객체에는 동일한 도구가 있습니다. 바 (그것에 홈 버튼과 함께). 화면 공간이 내 앱에서 중요하기 때문에 툴바는 하나만 갖고 싶습니다. 나는 뷰 컨트롤러를 중첩시킬 수 있다는 것을 알지 못했다. –
기본적으로 탐색 기반 응용 프로그램을 사용하는 것과 같은 아이디어입니다. 맨 위에있는 막대가 항상 표시되므로보기간에 이동할 수 있습니다. 유사한 접근 방식을 사용하는 경우 막대에 대한 정적 참조를 유지하여 필요에 따라 추가/제거 할 수 있습니다. 그런 다음 각각의 뷰에서'self.root.toolbar'와 유사한 호출을 통해 툴바를 얻을 수 있습니다. 이것은 어쨌든 내가 할 일입니다. 정보를 전달하고보기를 좀 더 쉽게 추적 할 수 있습니다. – justin