WatchKitの画面リロードやインジケータがわからない

環境

  • Xcode: 7.1.1
  • watchOS: 2

画面リロードはどうやるのか?

WatchKitにて、Memu ItemのタップをきっかけにWKInterfaceLabelを更新するコードを書いてみた。

@IBAction func nextPost() {
    title.setText("タイトル更新")
    body.setText("本文更新")
}

更新後にスクロール位置を最上段に持って行きたかったのだが、ただsetTextしただけではスクロール位置が変わらなかった。setHiddenで一度WKInterfaceLabelを消してから、再度表示させるようにしたら上段に移動した。

@IBAction func nextPost() {
    title.setHidden(true)
    body.setHidden(true)

    title.setText("タイトル更新")
    body.setText("本文更新")
    
    title.setHidden(false)
    body.setHidden(false)
}

インジケータがない?

上記のようにLabelを消す形にしたら、消えているあいだ画面が真っ黒になるのが気になった。Indicatorが見つからなかったので、消えている間は"Loding..."とLabelを表示するようにした。

@IBAction func nextPost() {
    title.setHidden(true)
    body.setHidden(true)
    loding.setHidden(false)

    title.setText("タイトル更新")
    body.setText("本文更新")
    
    title.setHidden(false)
    body.setHidden(false)
    loding.setHidden(true)
}

もっと良い方法はないだろうか。