0

私が取り組んでいるアプリの UI では、View Controller の角を丸くしようとしています。UINavigationBar と UITableView があります。UIAppearance などのカスタム背景を使用して、UINavigationBar の上 2 つの角を手動で丸めました。UITableView の下の 2つの角を丸くして見栄えを良くしたいと思います。私が今持っているコードは、すべての 4 つのコーナーを丸めます。下の2つだけを丸める方法を知っている人はいますか?

これが、UITableViewController の ViewDidLoad メソッドに今追加したものです。そして、QuartzCore をインポートしました。

    _tasksTableView.layer.cornerRadius=5;

助けてくれる人に感謝します!

4

1 に答える 1

2

新しいCAShapeLayerを作成し、そのパスをで作成されたbezierPathに設定できます。

+ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect 
                          byRoundingCorners:(UIRectCorner)corners 
                                cornerRadii:(CGSize)cornerRadii

コーナーを(UIRectCornerBottomLeft | UIRectCornerBottomRight)新しいレイヤーに設定すると、下部の2つのコーナーに丸みを帯びたコーナーができます。

mask次に、テーブルビューレイヤーにプロパティを設定して作成したシェイプレイヤーで_tasksTableView.layerをマスクします。


注:シェイプレイヤーにはスーパーレイヤーを含めないでください。

注:ベジェパスをシェイプレイヤーのプロパティCGPathとして設定する前に、ベジェパスを呼び出してベジェパスをCGPathRefに変換する必要があります。path

于 2012-05-09T11:14:51.887 に答える