こんにちは、私のアプリケーションでは、長方形ではなく丸い形のビューが必要です。丸い形の uiview オブジェクトの作り方を教えてください。前もって感謝します。
質問する
1044 次
2 に答える
2
技術的には、すべての UIView は常に「長方形」になります。つまり、{x, y} 座標を使用して画面に配置され、高さと幅で寸法が決定されます (長方形にする)。ただし、UIView の境界内では、円として表示するために多くのことができます。以下にいくつかの方法を示します。
- そのイメージを使用
UIImageView
して、円のイメージになるように設定します。これは簡単ですが、あまり柔軟ではありません。 - Core Graphics (Quartz2D とも呼ばれます) を学び、UIView の
-drawRect:
メソッドで円を描きます。Quartz 2D プログラミングガイド - 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 に答える