padding
UIView にプロパティを追加する方法を探しています。理想的には、サブクラス化を避けてカテゴリに配置することを望みます。使用法は次のようになります。
myview.padding = UIEdgeInsetsMake(10, 10, 10, 10);
また、内側のパディング ボックスのサイズと位置を説明するpaddingBox
値を返すプロパティもあるかもしれません。CGRect
さて、そのようなものをカテゴリに実装するにはどうすればよいでしょうか。最初は を使用することを考えましたbounds
が、残念ながら のサイズはbounds
のサイズにリンクされておりframe
(常に同じ)、座標のみが異なる場合があります。
ベストアンサー1
これは通常、ビュー内の境界を設定することによって行われます。したがって、全周に 10 のインセットが必要な場合は、次のようにします。
view.bounds = CGRectInset(view.frame, 10.0f, 10.0f);
境界は、フレームを基準としたビューの描画可能領域を定義します。したがって、これは実質的にパディングを与えるはずです。その後、境界から 'paddingBox' を取得できます。
お役に立てれば! :)
Swift 5+のアップデートは
view.bounds = view.frame.insetBy(dx: 10.0, dy: 10.0);