2

こんにちは、私のアプリケーションでは、長方形ではなく丸い形のビューが必要です。丸い形の uiview オブジェクトの作り方を教えてください。前もって感謝します。

4

2 に答える 2

2

技術的には、すべての UIView は常に「長方形」になります。つまり、{x, y} 座標を使用して画面に配置され、高さと幅で寸法が決定されます (長方形にする)。ただし、UIView の境界内では、円として表示するために多くのことができます。以下にいくつかの方法を示します。

  1. そのイメージを使用UIImageViewして、円のイメージになるように設定します。これは簡単ですが、あまり柔軟ではありません。
  2. Core Graphics (Quartz2D とも呼ばれます) を学び、UIView の-drawRect:メソッドで円を描きます。Quartz 2D プログラミングガイド
  3. UIView のレイヤーには CAShapeLayer を使用します。CAShapeLayer クラス リファレンス

確かに他の方法もありますが、これは良いスタートになるはずです。円内のタッチを検出する必要がある場合は、オプション 2. または 3. を使用して CGPathRef (または UIBezierPath) への参照を保持し、CGPathContainsPoint を使用てタッチが円の境界内にあるかどうかを判断し、それに応じて処理します。

于 2013-03-17T14:15:04.983 に答える
1

ビューのレイヤーの cornerRadius を設定できます。

#import <QuartzCore/QuartzCore.h>

yourView.layer.cornerRadius = 20;
于 2013-03-17T10:02:28.347 に答える