0

WatchOS 2 のメニューからモーダル InterfaceController を開こうとしています。これは、次の方法で Controller を呼び出すことで正常に機能します。

@IBAction func doInfoMenuAction() {
    self.presentControllerWithName("InfoInterfaceController", context: nil)
}

InfoInterfaceController は完全に「空」です。

import Foundation
import WatchKit

class InfoInterfaceController: WKInterfaceController {
}

InfoInterfaceController にラベルを追加すると、奇妙な動作が発生します。Menu Info-Item を押した後、ダイアログが表示されますが、ラベルが描画されません。代わりに、待機中の糸車が無限ループで表示されます。

その場合、InfoInterfaceController は次のようになります。

import Foundation
import WatchKit

class InfoInterfaceController: WKInterfaceController {

    @IBOutlet var serverUriLabel: WKInterfaceLabel!
}

IBOutlet は、ラベルを Storyboard から InfoInterfaceController に CTRL リンクすることによって作成されました。リンクと IBOutlet を削除すると、InfoInterfaceController は問題なく描画されます。ラベルもきれいに表示されます。

私が間違っていることは何か分かりますか?

4

1 に答える 1

0

私は解決策を見つけました:ここに記載されているのと同じ問題のようです:

WatchKit エラー - インスタンス化するインターフェイス コントローラ クラス '' が見つかりません

私がしなければならなかったのは、InfoInterfaceController の「Identity Inspector」を開き、別の InterfaceController を選択することです。

その後: 「Identity Inspector」で InfoInterfaceController に簡単に切り替えます。クリーンしてビルドすると、その後、ラベルは問題なく表示されます。

私にはバグのように見えます:-/

于 2015-12-31T09:39:13.460 に答える