私はストーリーボードで使用できるようにIBDesignableとしてマークされたカスタムuiクラスを作成したいと仮定します。デフォルト値をオーバーライドすることは可能ですストーリーボードでオーバーライドすることはできますか?インターフェイスビルダー/ストーリーボードでオーバーライドできるデフォルトプロパティのデフォルト値を変更
たとえば、カスタムUILabelを作成したい場合、デフォルトのbackgroundColorをredにオーバーライドして、ストーリーボードのビューに追加するたびに、デフォルトでは赤の背景色になります白が普通ですが)、私がストーリーボードの何かに色を変えると、その新しい色を保ちます。
backgroundColorのプロキシとして特定のIBInspectableプロパティを追加することはできますが、これは最適なものではないため、同じもの(backgroundColor)を制御するオブジェクトの2つのプロパティを残してしまうためです。
誰でもこれを行う方法を知っていますか?
これは実際には動作しているようですが、初期化についての警告はSwiftによって呼び出されることが保証されていないため、おそらく将来的な解決策ではありません。しかし、もっと悪いのは、ストーリーボードに新しいデフォルトの色が表示されないということです。これは、私がこの全部をしたい理由の一種です。 – SveinnV
申し訳ありませんが、インターフェイスビルダがデフォルトの色をどのようにピックアップするように指示できますか多分それは可能です... 'initialize'については、あなたが正しいです、これはObjective-Cのことであり、Swiftでは動作が異なるかもしれません。 'application(_:didFinishLaunchingWithOptions)'にコールしてください。遅すぎる場合は、 'AppDelegate'初期化子に入れてください。 – deadbeef
@SveinnV私の編集を参照してください – deadbeef