2017-10-16 6 views
0

내 Apple Watch 앱에서 self.setTitle("some title")을 통해 제목 텍스트를 업데이트합니다. 문제는 컨트롤러 B가있는 동안 컨트롤러 A에서 해당 코드가 실행되면 A가 "백그라운드"에있는 코드 (예 : 계층 적/마스터 - 세부 디자인)가 B가 표시 되더라도 제목을 변경한다는 것입니다.WKInterfaceController가 보이는지 확인 watchkit

이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

if (self.navigationController.topViewController == self) { 
     self.setTitle("Chats (live)") 
} 

과 같은 방법을 찾고 있었지만 Watchos에서는 사용할 수 없습니다.

어떻게 그럴 수 있습니까?

답변

0

나는 많은 아직 테스트하지 않은, 이것을 함께 넣어하지만 첫번째보기에 일을 나타납니다

var masterTitle = "" 
var masterActive = false 

... 

setControllerTitle("Test")   //set the title 

override func didAppear() { 
    masterActive = true    //enables title updates 
    setControllerTitle(masterTitle) //sets title if view re-appeared 
} 

override func willDisappear() { 
    masterActive = false    //disables title updates 
} 

func setControllerTitle(_ s : String){ 
    masterTitle=s     //saves title for future use 
    if(masterActive){ 
     self.setTitle(s)    //sets title when view is current 
    } 
}