Androidはワンツーパンチ 三歩進んで二歩下がる

プログラミングやどうでもいい話

XcodeのInterfaceBuilderの機能、@IBDesignableを使うとカスタムビューをリアルタイムでプレビュー出来て便利

Appleの公式iOSチュートリアル「FoodTracker」をやっています。
今↓この辺なのですが、カスタムビューを作っています。
https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/ImplementingACustomControl.html#//apple_ref/doc/uid/TP40015214-CH19-SW1


XcodeのInterfaceBuilderの機能である、@IBDesignableを使うとInterfaceBuilder上でカスタムビューの表示を確認できますが、
Androidではカスタムビューはいちいち実行して調整していたので嬉しい機能です。

アニメーションにも対応してるのか気になりましたが、2017年10月時点ではどうかわからないですが、こちらのサイト様情報ですと出来無さそうっぽいです。
qiita.com


使い方はクラス宣言のところに@IBDesignableを付けてビルドするだけです。

@IBDesignable class RatingControl: UIStackView {


また。@IBInspectableというものを付けてビューのプロパティを宣言するとInterfaceBuilderでプロパティ変更出来るようになります。didSetオブザーバーをoverrideしてUI属性の変更を反映する必要があります。

  @IBInspectable var starSize: CGSize = CGSize(width: 44.0, height: 44.0) {
    didSet {
      setupButtons()
    }
  }

f:id:sakura_bird1:20171013033512p:plain

@IBInspectableはチュートリアルをやっただけでは開発効率が良くなりそうな実感が得られず、微妙な印象です。