2013-05-16 3 views
0

흥미로운 질문이 있습니다. 두 개의 화면이 있는데 세 번째 화면 요소 (버튼, 레이블)가 정적이고 한 화면에서 다른 화면으로 이동할 때 변경되지 않아야합니다. . 따라서 MAIN DISPLAY 1은 DISPLAY 2에서도 변경 될 수 있지만 버튼과 기타 (예 : 레이블)는 고정적 일 필요가 있습니다.Xcode의 viewcontroller에서 정적 뷰를 만드는 방법은 무엇입니까?

큰 도움 주셔서 감사합니다, 죄송합니다.이 문제는 코드가 없습니다. 왜냐하면이게 어떻게 만들어 질지 모르겠으니 ...

+0

내가 여기 문제를 볼 수 없습니다, 당신을 실망 미안, (문제가 아닙니다)이 질문은 그 재미없는 'static' 뷰를 추가 할 수있는 xib/storiboard 파일이 있습니다. – danypata

+0

하지만 어떻게 알 수 있습니까? 코드를 표시하고 싶지 않다면 어떤 방향으로 대답을 찾아야하는지/감사합니다. –

답변

0

좋아, 그래서 당신은 변경되지 않습니다 UI가있는 경우는 다음과 같은 고려해야 할 내용이다 : 사용자가 한 스크린에서 다른 스크린으로 탐색 할 수있는 경우

는, 당신은 여러 개의 뷰 컨트롤러를 만들어야합니다 (이 방법은 다른 방법으로도 수행 할 수 있지만 가장 쉬운 방법입니다). 자신 만의 UI가있어서 다음과 같은 스토리 보드에서 쉽게 만들 수 있습니다.

스토리 보드를 사용하는 새 프로젝트 만들기 귀하의 요구를 지원하는 Xcode 템플릿 사용)

생성 된 스토리 보드에서 새로운 UINavigation 컨트롤러 및 Attributes inspector에, 스토리 보드에 Is initial view controller enter image description here

드래그 다른있는 UIViewController를 확인 네비게이션 컨트롤러를 선택, 새로 추가 된 뷰 컨트롤러에 마우스 오른쪽 버튼을 클릭을 누른 상태에서 드래그, 팝업이 나타납니다 그 팝업에서 root view controller을 선택합니다. 이제 새로 추가 된보기 컨트롤러가 앱에서 표시 할 첫 번째보기가됩니다. 이보기 컨트롤러에서 UI 요소 (단추, 레이블 등)를 추가하십시오. 사용자가 버튼을 누를 때 다른 화면을 표시하려면 다른보기 컨트롤러를 드래그하고 다음 화면을 표시 할 버튼을 선택하고 마우스 오른쪽 버튼으로 클릭 한 상태로 새로 추가 한보기 컨트롤러로 드래그하고 팝업 메뉴에서 push을 선택하십시오. . 이제 사용자가 버튼을 탭하면 다음보기 컨트롤러가 표시되고 iOS를 사용하기 때문에 보너스로 시스템이 첫 번째보기 컨트롤러로 돌아갈 수 있도록 뒤로 버튼을 만듭니다.

좋아, 이것은 시작하고 확장 할 수있는 기본 자습서이지만, 더 많은 것을 읽고, 해결책을 찾기 위해 Google/SO에서 밤을 보내고, 사과 도스와 다른 것들을 배우게됩니다 당신이 훌륭한 iOS 개발자가 될 수 있도록 필요한 것.

내 힘이 당신과 함께하고 스티브 잡스가 당신의 계단을 지켜보고 있습니다.

+0

O 좋은 생각, 감사합니다, 그래서 : 탐색 컨트롤러 - 탭 표시 줄 컨트롤러 - 및 모든보기 컨트롤러. 하지만 예를 들어, 탭 바 컨트롤러가있는보기를 원하지만 탐색 표시 줄을 사용하면 어떻게 만들 수 있습니까? 나는 당신에게 투표를하고 싶지만, 나는 단지 10 개의 평판만을 갖고 있습니다, 미안 해요. –

+0

괜찮 으면 받아 들일 수있는 것으로 표시 할 수 있습니다.) – danypata

+0

수락했습니다! 예를 들어 어떤 UiView가 네비게이션 컨트롤러를 사용하지 않고 앱이 시작될 때 모든 뷰에 표시되도록하는 방법을 알고 있습니다. –

0

이것은 내 머리 꼭대기에서 떨어져 있습니다 : 뷰를 uiwindow에 배치하고 거기에 정적 요소를 배치 한 다음 display1에 투명 배경을 제공하고 display2. 두 개의 디스플레이가 백그라운드 요소에 터치를 전달하게하여 버튼에 대한 조치를 취할 수 있습니다. 죄송하지만 어떤 코드도 갖고 있지 않다.)

-1

UINavigationController 또는 여러 컨트롤러를 관리하기 위해 사용중인 컨트롤러에 정적 뷰를 추가해야합니다.

0

훨씬 더 좋은 방법과 같이 당신의 ViewController를 인스턴스화하는 것입니다

당신의 인스턴스화보기 컨트롤러 당신 설정 내부 그리고
this.NavigationController.PresentModalViewController (StaticViewController.staticViewController, true); 

뷰 컨트롤러의 인스턴스를 보유하고 정적 변수 :

public static StaticViewController staticViewController; 

을 정적 뷰 컨트롤러가 처음으로 실행될 때 :

staticViewController = this; 

앞으로 (앱에서 어디서나) 정적 뷰 컨트롤러를 시작하면 StaticViewController.staticViewController 변수가 null인지 아닌지를 확인할 수 있습니다.

간단한 사용하여 다른 논리가 적절하게로드하는 경우 :

if (StaticViewController.staticViewController == null) { 
       StaticViewController.staticViewController staticViewController = this.Storyboard.InstantiateViewController ("StaticViewController") as StaticViewController; 
       this.NavigationController.PresentModalViewController (StaticViewController.staticViewController, true); 
      } else { 
       if(!StaticViewController.staticViewController.IsBeingPresented) //safeguard against click happy users 
        this.NavigationController.PresentModalViewController (StaticViewController.staticViewController, true); 
      } 
관련 문제