2017-11-25 32 views
-1

我需要設計一個像圓角和陰影一樣的視圖。我有一個容器視圖,裏面有另一個視圖,就像我附加的圖像。但是當我爲外容器視圖應用圓角半徑時,除了具有內部視圖的區域外,半徑已經設置。如果我將它製作成clipToBounds = true,那麼它會遍體鱗傷,但陰影不會到來。所以plz幫助我在這裏。視圖沒有越過

這裏是我的代碼

containerView.layer.masksToBounds = false 
    containerView.layer.shadowColor = UIColor.black.cgColor 
    containerView.layer.shadowOpacity = 0.5 
    containerView.layer.shadowOffset = CGSize(width: -1, height: 1) 
    containerView.layer.shadowRadius = 5 
    containerView.backgroundColor = UIColor.white 
    containerView.layer.cornerRadius = 20 

我附上下面的圖片爲我的問題。 View Image

+0

能否請您分享一些代碼或者即使你的代碼是回購? –

+0

我已經在上面添加了我的代碼。提前感謝 – Hyder

回答

0

你有兩種觀點,超級觀點及其子視圖,與你的目標有衝突。

  • 一方面,您希望超視圖的角半徑影響其子視圖。只有當超級視圖掩蓋其界限時纔會發生這種情況。

  • 另一方面,你想要超級觀點的陰影出現。只有在超級觀點不對其界限掩蓋時纔會發生這種情況。

所以你想要的是邏輯上的不可能性。

該解決方案很簡單。使用三個意見!在兩個視圖之間劃分陰影和裁剪的工作。

  • 最外面的視圖具有拐角半徑和陰影,並且不掩蓋邊界。這是影子製作人。

  • 下一個視圖是它的子視圖。它是完全一樣的大小,並且它也圓角半徑和它確實面具界限。這是快船。

  • 下一個視圖是子視圖的內容,子視圖。它將被第二個視圖遮擋,所以角落的半徑會影響它。