こんにちは私は長方形ではなく円で画像を表示したいのですが、これはすべてテーブルビューに表示されます
5 に答える
#import <QuartzCore/QuartzCore.h>
追加する
必要がある[yourImageView.layer setCornerRadius:yourImageView.frame.size.width/2]
かもしれませんが、[yourImageView setClipsToBounds:YES]
これについてはわかりません。
代わりにCICircularWrapを使用することもできます。画像を透明な円で囲みます。
たとえば、次のようにします。
次に、UIImageViewのレイヤーsetCornerRadiusを使用して円形の画像を完成させることができます
これを行う 1 つの方法は、NSView のサブクラスを作成することです。
次に、 drawrect: メソッドをオーバーライドしてカスタム描画を行います。定義したフレームにイメージを描画することから始めます。その後、同じフレーム内で、中央に透明な円がある長方形の画像を描画するか、NSBezierPath を使用して同様の長方形を作成できます。
この四角形の色は、中央の透明な円を除いて、囲んでいるビューの背景色と同じです。
-drawRect
または、次の方法を使用できます。
- (void)drawRect:(CGRect)rect
{
CGRect aRectangle = CGRectMake(0.0f, 0.0f, 40.0f, 40.0f); //size of image frame
UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:aRectangle];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
UIColor *imageColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"yourImage.png"]];
[imageColor setFill];
[path fill];
}
まず、UIView から継承した独自のクラスを作成し (たとえば)、このコードをdrawRect
.
画像を PNG として作成し、透明レイヤーを追加します。円の周りを選択して透明にします。次に、画像が UIImageView に読み込まれると、円として表示されます。
例えば: