WKInterfaceGroupオブジェクトの背景色をプログラムで取得するにはどうすればよいですか?WKInterfaceGroupの背景色をプログラムで取得する(WatchKit)
あなたはset the value
- (void)setBackgroundColor:(nullable UIColor *)color;
を使用することができますが、あなたもそれを得ることができますか?
WKInterfaceGroupオブジェクトの背景色をプログラムで取得するにはどうすればよいですか?WKInterfaceGroupの背景色をプログラムで取得する(WatchKit)
あなたはset the value
- (void)setBackgroundColor:(nullable UIColor *)color;
を使用することができますが、あなたもそれを得ることができますか?
背景色を取得する方法がないように見えます。
私はWKInterfaceGroupクラスを見て少し読んだあと、WatchKitがどのように動作するかを理解しています。
アップル社は(私が見てきたファイルの範囲では)少なくとも1つの方法でコミュニケーションを望んでいるようだ。つまり、あなたは時計のようなものをアプリレベルまで取り出すことを望んでいません。あなたは時計に何をすべきかを伝えたいと思っています。時計はこれらのものだけを受け取ります(色、挿入、コーナーの半径など)
これは私が来たという結論です)。今、WKInterfaceGroupから背景色を取得する必要がある場合は、解決策を探し続けることができます。私はそれが可能かどうかわからない。私がお勧めするのは、WKInterfaceGroupからこのプロパティを必要とする別の解決策を見つけることです。
インターフェイスオブジェクトに値を設定することはできますが、は、その属性の現在の値を取得することはできません。
この回答はWKInterfaceObject
スーパークラスのドキュメントで見つけることができます:
あなたの拡張機能のインターフェイスオブジェクト間のコミュニケーションとあなたの時計アプリで対応するインタフェース要素には、1つの方法です。インターフェイスオブジェクトの値を設定できますが、現在の値を取得することはできません。属性の現在の値を知りたい場合は、値を自分で保存する必要があります。ここで
グループの色のために独自の価値を維持する方法を示す例です:
@IBOutlet weak var myGroup: WKInterfaceGroup!
var myGroupBackgroundColor: UIColor?
// Set the group's color, also save the color for future reference
myGroupBackgroundColor = UIColor.blue()
myGroup.setBackgroundColor(myGroupBackgroundColor)
あなたは、あなたのmyGroupBackgroundColor
プロパティを使用して、グループの現在の色を取得することができます。