2017-10-16 5 views
0

Apple Watchアプリケーションでは、タイトルテキストをself.setTitle("some title")で更新します。問題は、コントローラーBが存在している間にコントローラーA上でそのコードがトリガーされると、Bが表示されているにもかかわらず、「バックグラウンド」(例えば、階層/マスター詳細設計)WKInterfaceControllerが表示されているかどうかのウォッチキットチェック

これを回避するにはどうすればよいですか?

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 
    } 
} 
関連する問題