シャドーエッジと丸みを帯びたエッジでカスタムContainerViewを作成したいと思います。このContainerViewは、別のUIViewの上部に配置された小さな四角形の形式です。この特殊な状況では、CoreGraphicsを使用した追加レイヤーや描画シャドウは役に立ちません。シャドウと丸いエッジを持つContainerView
2
A
答えて
2
あなたは追加のビュー/層が助けにはなりませんことを間違っています。
角に丸みを付けてroundedContainer
を追加し、別のレイヤーに影を付けてshadowedView
に追加できます。 これらの白い角を避けるには、背景色をclear
のどこかに設定してください。
例:
//superview for container with rounded corners
shadowedView.backgroundColor = UIColor.clear //this will fix your white corners issue
shadowedView.layer.shadowColor = UIColor.black.cgColor
shadowedView.layer.shadowOffset = .zero
shadowedView.layer.shadowOpacity = 0.3
shadowedView.layer.shadowRadius = 5.0
//add a container with rounded corners
let roundedView = UIView()
roundedView.frame = baseView.bounds
roundedView.layer.cornerRadius = 10
roundedView.layer.masksToBounds = true
shadowedView.addSubview(roundedView)
0
私はすでに適切な解決策を発見しました。私はすべてのUIViewのスーパークラスであるContainerViewに影を落としました。私はUIViewControllerクラスを使ってこの小さな矩形領域の端を丸めました。あなたは追加のビューの/層は助けないということだと思いますなぜ
class GraphViewController: UIViewController {
@IBOutlet var graphView: GraphViewRenderer!
override func viewDidLoad() {
graphView.layer.cornerRadius = 20.0
graphView.layer.masksToBounds = true
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
class GraphContainerView: UIView {
func applyPlainShadow() {
layer.shadowColor = UIColor.black.cgColor
layer.shadowOffset = CGSize.zero
layer.shadowRadius = 5.0
layer.shadowOpacity = 0.7
}
override init(frame: CGRect) {
super.init(frame: frame)
applyPlainShadow()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
applyPlainShadow()
}
}
+0
スーパークラスではなく、スーパービューです。それは同じではありません。あなたの答えは、基本的に私が示唆していたものです。 – alexburtnik
+0
@alexburtnikありがとうございました。 –
関連する問題
- 1. プログラム的に丸いエッジを持つAndroid Javaボタン
- 2. Android:丸いエッジのビューが別の丸いエッジのビュー内で拡大する
- 3. 2つの丸い角を持つUITextField
- 4. 1つの丸い角を持つUIButton
- 5. WPF不確定な丸いエッジ、インジケータオーバーラップ親
- 6. IBDesignablesを持つセルのコーナー半径を持つシャドウ
- 7. 高さと丸いエッジを増やすハイチャートの棒グラフ設定
- 8. 丸い角を持つ `ListView`メニューをスタイリング
- 9. 透明な丸いコーナーを持つUIImage
- 10. 内側の丸みのあるエッジと内側の傾斜したエッジを持つトグルボタンを作成するにはどうすればよいですか?
- 11. IE8で丸められたエッジ
- 12. ココア - 左上と左下の丸い角だけを持つ
- 13. Java - 2つの丸い角を持つ矩形を描く
- 14. 3つのjsシャドウ
- 15. ボーダーと塗りの色と丸めを持つCAShapeLayer
- 16. グラフデータストア:200k頂点とエッジを持つグラフデータ構造をキャッシュする
- 17. UWPで頂点とエッジを持つグラフを表示
- 18. ノードに接続されたエッジの数と最大接続エッジを持つノードを見つける
- 19. 並列エッジと自己ループを持つDijkstra
- 20. ノードとエッジを持つ簡単なグラフのモデリング。
- 21. グラフノードのレベルとエッジの正方行列を持つPandas DataFrame
- 22. rで多くのエッジとリレーションを持つネットワークアナリシス?
- 23. ContainerViewコンセントを追加
- 24. ContainerViewでPDFをロード
- 25. 3つのタブとContainerViewでUISegmentedControlを使用できません
- 26. ContainerView hide UILabel
- 27. 丸みを帯びたコーナーと影を持つココア描画イメージ
- 28. はNSInvalidUnarchiveOperationExceptionは埋め込みsequeでContainerViewを使用してContainerView
- 29. Three.jsライトとシャドウ
- 30. 丸い角を持つJPanelに背景画像を追加
?あなたの問題は 'cornerRadius'を' containerView'に適用した後に影が見えないのですか? – alexburtnik
追加のビュー/レイヤーを適用するたびに、影が表示され、エッジが丸くなりますが、この「白い」領域を取り除くことはできません。 –
あなたのコードを投稿して助けてください。 – alexburtnik