私はUITableViewCellを持っていて、imageプロパティを使って画像を埋めたいと思っています。それがグループ化されたUITableViewの最初のとき、私はそれが標準的な丸いコーナーを持ってほしいです。イメージで埋められたUITableViewCellの丸みを付けたコーナーを復元するには?
残念ながら、イメージは丸い角も塗りつぶします。透明なイメージを使用せずにそれらを保持する方法はありますか?
私はUITableViewCellを持っていて、imageプロパティを使って画像を埋めたいと思っています。それがグループ化されたUITableViewの最初のとき、私はそれが標準的な丸いコーナーを持ってほしいです。イメージで埋められたUITableViewCellの丸みを付けたコーナーを復元するには?
残念ながら、イメージは丸い角も塗りつぶします。透明なイメージを使用せずにそれらを保持する方法はありますか?
私の不透明な画像に角が丸くなったばかりです。スクリーンショットを撮って丸い角の寸法を取得し、それを画像の基礎として使用します。
任意のビューの角をプログラムでレイヤープロパティを使用して丸めることができます。レイヤーの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;
私は最初のセルの右上と左コーナーで角丸をしたいので、これはとにかくずっと..おかげで助けにはなりません – johnl
@johnl私はこれが古いと知っていますが、特定のコーナーだけを丸める方法を含めるように答えを更新しました – imnk