私は少しの研究をしましたが、簡単な方法はありません のみ UIViewラウンドの右上と左上隅ですか?UIViewラウンドの特定のコーナーを作成
ps。このコードは、すべての四隅を丸くしています。私はほしくない。
#import <QuartzCore/QuartzCore.h>
self.layer.cornerRadius = 5;
self.layer.masksToBounds = YES;
私は少しの研究をしましたが、簡単な方法はありません のみ UIViewラウンドの右上と左上隅ですか?UIViewラウンドの特定のコーナーを作成
ps。このコードは、すべての四隅を丸くしています。私はほしくない。
#import <QuartzCore/QuartzCore.h>
self.layer.cornerRadius = 5;
self.layer.masksToBounds = YES;
あなたはこのスニペットでそれを行うことができます。
// Set top right & left corners
[self setMaskTo:yourView byRoundingCorners:UIRectCornerTopLeft|UIRectCornerTopRight];
EDIT
申し訳ありませんが、私はこの
- (void)setMaskTo:(UIView*)view byRoundingCorners:(UIRectCorner)corners
{
UIBezierPath *rounded = [UIBezierPath bezierPathWithRoundedRect:view.bounds
byRoundingCorners:corners
cornerRadii:CGSizeMake(8.0, 8.0)];
CAShapeLayer *shape = [[CAShapeLayer alloc] init];
[shape setPath:rounded.CGPath];
view.layer.mask = shape;
}
PSを忘れてしまった:私はコメントで言ったように、 UITableViewCell
のセルを表示するときにこのようなことを使うと、私はこの種の描画要素は常にパフォーマンスに影響するため、背景イメージを使用する方が良い選択です。
FYI、 'UITableViewCell'セルを表示するときにこのようなことを使うと、この種の描画要素は常にパフォーマンスに影響するため、常に背景イメージを使用する方が良いということがわかりました。 – amb
このコメントはおそらく答えになるはずです。ビューをマスキングすることは大きなパフォーマンスヒットであり、助けがあればいつでもバックグラウンドイメージとなるはずです – wattson12
コメントありがとうございます! ps。私はUITableViewcellとして使用していません。とにかく、たとえ私が本当にバックグラウンドイメージを使用してこれを行う方法を知らないとしても...:((しかし、とにかくありがとうと、とにかく。 – user1903992
それが引き起こした問題を抱えているので、セル
を描画するときに、私は完璧に良い仕事を2つのステップで今より良く、より容易なソリューションを持って私はかつてのUIView用の拡張機能を試してみましたが、それは私のために動作しませんでした:)
1)1行のコード(SWIFT 2.0) - それは傷のすべてのビューの4つの隅:
YourView.layer.cornerRadius = 10
2)と、ストーリーボード内の1つの追加あなたは何のラウンドコーナーを必要としない通常のコーナーで1つのビューを追加し、必要に応じて制約を調整してください: 小さな正方形のビューがメインビューの後ろにある必要があることに注意してください。 This is how it looks in storyboard
http://stackoverflow.com/questions/4847163/round-two-corners-in-uiview?rq=1の –
可能重複[のみ左上とトップをcornerRadiusを設定する方法UIViewの右隅?](http://stackoverflow.com/questions/10167266/how-to-set-cornerradius-for-only-top-left-and-top-right-corner-of-a-uiview ) –