2016-04-27 5 views
2

私はUITableViewCellの内部のUIViewに丸みを帯びた2つのトップの角、すなわちUITableViewCell内のUIViewで2つの上隅を丸めることができないのはなぜですか?

UITableViewCell xib

let maskPath = UIBezierPath(roundedRect: containerView.bounds, byRoundingCorners: [.TopLeft, .TopRight, ], cornerRadii: CGSize(width: 10.0, height: 10.0)) 
let maskLayer = CAShapeLayer(layer: maskPath) 
maskLayer.frame = containerView.bounds 
maskLayer.path = maskPath.CGPath 
maskLayer.masksToBounds = true 
containerView.layer.mask = maskLayer 

そして私は、私はこれを取得するアプリ実行を設定することはできません。

UITableViewCell runtime

私は自分のカスタムUIViewに背景色を追加し、デモンストレーション目的のためだけにセルのコンテンツビューの背景色を追加して、私は正しい意見に多くの価値を追加しましたそれは動作しません表示するtraint:

UIView with background color

しかし、それは完璧に動作空UIViewControllerで一人でUIViewを作成する場合。

幅の制約を追加して固定幅を設定したときに見つかりましたが、幅のサイズを動的に(すべてのデバイスと向きで機能するように)設定したい場合は、後続の制約を追加します。

私が間違っていることは何ですか?

+0

'maskLayer.masksToBounds = YES'を追加 – iphonic

+0

@iphonicそれは動作しませんでした – pableiros

+0

私はこの1つでアンソニーRnです。私はあなたの層を賭けて、あなたの意見は画面右から出ています。また、 'containerView'をそのレイヤーでマスクしているので、' containerView'がオフの場合、 'maskLayer'もオフになります。 – Aaron

答えて

0

私はそれが動作していると思いますが、あなたのUIViewの幅が大きすぎるということが起こります。 (あなたの細胞よりも大きい)ので、右隅が見えません。あなたのセル内のあなたのUIViewにいくつかの制約を設定しようとすると、それは動作すると思います

+0

私はUIViewに100の定数で幅contraintを設定し、それは動作しませんでした – pableiros

+1

あなたのUIViewにbackgroundColorを設定してから、それのスクリーンショットを撮ることができますので、私はあなたのUIViewの2つの頂点を見ることができます。今のところスクリーンショットの左上隅のみが表示されるためです。また、デバッグビューの階層構造ツールを使用し、隠れたビューを表示するボタンをクリックして、UIViewのサイズに問題があるかどうかを確認してください。 – AnthonyR

+0

私のカスタムビューで質問に新しいimagenを追加し、背景色のコンテンツビューセル – pableiros

関連する問題