2009-11-18 7 views
5

私はUITableViewCellを持っていて、imageプロパティを使って画像を埋めたいと思っています。それがグループ化されたUITableViewの最初のとき、私はそれが標準的な丸いコーナーを持ってほしいです。イメージで埋められたUITableViewCellの丸みを付けたコーナーを復元するには?

残念ながら、イメージは丸い角も塗りつぶします。透明なイメージを使用せずにそれらを保持する方法はありますか?

答えて

-1

私の不透明な画像に角が丸くなったばかりです。スクリーンショットを撮って丸い角の寸法を取得し、それを画像の基礎として使用します。

2


任意のビューの角をプログラムでレイヤープロパティを使用して丸めることができます。レイヤーのcornerRadiusプロパティで演奏する場合は、必要な結果を得ることができます。

#include <QuartzCore/QuartzCore.h> 

UIImage *myImage = [UIImage imageNamed:@"image.png"]; 
UIImageView *imgView = [[UIImageView alloc] initWithImage:myImage]; 
imgView.layer.cornerRadius = 10.0; 

コーナーの一部を丸めたい場合は、UIBezierPath APIを見て、そのパスを使用して画像をマスクする必要があります。これはテストされていませんが、それは正しい方向にあなたを指している必要があります:

UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:cell.bounds 
              byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight 
               cornerRadii:CGSizeMake(10.0, 10.0)]; 

CAShapeLayer *maskLayer = [CAShapeLayer layer]; 
maskLayer.frame = imageView.frame; 
maskLayer.path = path; 
imageView.layer.mask = maskLayer; 
+4

私は最初のセルの右上と左コーナーで角丸をしたいので、これはとにかくずっと..おかげで助けにはなりません – johnl

+0

@johnl私はこれが古いと知っていますが、特定のコーナーだけを丸める方法を含めるように答えを更新しました – imnk

関連する問題