0

나는 탐색 표시 줄에서 시장 시간 동안 소켓 연결을 사용하여 업데이트 된 일부 인덱스 값을 보여야하는 주식 시장 응용 프로그램에서 일하고 있습니다.일반 UINavigationController 응용 프로그램에서 사용자 정의보기로

이 기능은 응용 프로그램의 모든 화면에서 공통적으로 사용됩니다.

하위 클래스가 UINavigationController이고 .xib 파일에서 인덱스 값을 viewDidLoad에 표시하도록 디자인하고 하위 뷰로 추가했습니다.

enter image description here

(내가 신속한 사용하고 3.1)

let width = self.view.frame.width - 100.0 
    let frame = CGRect(x: 50, y: 25, width: width, height: 44) 
    viewNavigation = NavigationView(frame: frame) 
    self.view.addSubview(viewNavigation!) 

이 기능을 달성하기 위해 다른 더 좋은 방법이 있나요?

답변

0

나에게 나쁜 것 같지 않습니다.

귀하의 window.rootViewControllerUINavigationController으로 설정하면 실제로 실제로 사용하는 것이 좋습니다. 다른 서브를 여전히 포함 할 수 있습니다. UINavigationController

그러나 NavigationView에 관한 내용은 무엇입니까? navigationController보기 속성 내에 직접 하위보기를 추가하는 경우 예상되는 동작이 아니며 정의되지 않은 동작이 발생할 수 있습니다. 편집 된 답변과 의견에 따라

:

예, 나는 당신이 사용자 정의 titleViewUINavigationBar를 사용한다고 생각합니다. 당신은 쉽게 한 번 다른의 ViewController 또는에서 설정할 수 있습니다

self.navBar.topItem?.titleView = NavigationView(frame: frame)

+0

내비게이션 컨트롤러 대신 탐색 모음에 추가해야합니까? – iAnurag

+0

정보를 정확히 표시 하시겠습니까? NavigationController navigationBar 제목 주위에? – Lifely

+0

질문을 수정했습니다 ... 확인하십시오 – iAnurag

0

난 당신이 UIViewController 하위를 생성하고 표시하고 숨기거나 값을 변경하는 방법을 추가 할 수 있다고 생각합니다. 예제를 참조하십시오.

BaseViewControler는

func addNavigationTitileView() { 
    // add your code to show your value 
    } 

지금

override func viewWillAppear(_ animated: Bool) { 
     super.viewWillAppear(animated) 
     addNavigationTitileView() 
    } 

지금 당신은 당신의보기를 만들 필요가 귀하의 viewWillAppear에 전화를 다음과 같은 방법을 쓰기 당신의 BaseViewController에

UIViewController에

의 서브 클래스 BaseViewController를 서브 클래 싱하는 컨트롤러. 변경 사항이있는 탐색 모음이 자동으로 추가됩니다. navigationTitleView

을 변경하는 것이 더 나은 귀하의 예를 들어

당신이 탐색 모음에 동적 값을 표시하고 싶은 말은 수 있습니다. 위의 방법을 사용하면 뷰 컨트롤러로 갈 때마다 쉽게 업데이트 할 수 있습니다.

이제 일부보기 컨트롤러에 두 가지 옵션을 추가하지 않으려한다고 생각하십시오.

  1. BaseViewController를 서브 클래 싱하지 않고 View Controller를 생성하십시오.
  2. 컨트롤러에서 같은 방법을 만들거나 (재정의) 공백으로 두어야합니다. 텍스트를 리얼 타임으로 변경하려면

당신은 당신은 baseviewController viewWillAppear 방법에 옵저버를 등록하고 viewWillDisappear 방법에 제거 할 필요가 Notification center method method called multiple time ios in Tab bar (View controller)? How to remove observer?

그런 식으로 구현을 참조하십시오 NSNotificationCenter addObserver 를 사용하는 필요를 사용할 필요가 .

옵저버 방법에서는 표시 할 값을 설정할 수 있습니다.

+0

이 approch는 많은 메모리를 소비합니다 ..이 장소에 이미 있습니다 .. 나는 대안을 찾고 있습니다. 고마워요. – iAnurag