[英]iOS shadow view in interface builder
我正在嘗試通過界面生成器向某些視圖添加陰影。 我似乎無法在我的觀點上留下陰影。 我看到的所有資源都指向同一代碼,所以我不確定自己在做什么錯。
界面生成器
Interface Builder擴展代碼
import Foundation
import UIKit
extension UIView {
//cut irrelevant code for SO Question
@IBInspectable
var masksToBounds: Bool {
get {
return layer.masksToBounds
}
set {
layer.masksToBounds = newValue
}
}
// Shadow handling
@IBInspectable
var shadowColor: UIColor? {
get {
if let color = layer.shadowColor {
return UIColor(cgColor: color)
}
return nil
}
set {
if let color = newValue {
layer.shadowColor = color.cgColor
} else {
layer.shadowColor = nil
}
}
}
@IBInspectable
var shadowOpacity: Float {
get {
return layer.opacity
}
set {
layer.opacity = newValue
}
}
@IBInspectable
var shadowRadius: CGFloat {
get {
return layer.shadowRadius
}
set {
layer.shadowRadius = newValue
}
}
@IBInspectable
var shadowOffset: CGSize {
get {
return layer.shadowOffset
}
set {
layer.shadowOffset = newValue
}
}
}
視圖布局
這是結果
我想這是您要添加陰影的自定義搜索欄。 我猜它不可見的原因是因為您在控制器和情節提要中的視圖均相同。 嘗試使情節提要視圖具有一個容器視圖,並在情節提要視圖中添加一些填充,然后將陰影添加到該容器視圖。 這可能會顯示一些結果。
您的shadowOpacity
屬性正在訪問錯誤的layer屬性。 它的訪問layer.opacity
當它應該是layer.shadowOpacity
。 另外,您的shadowRadius
太大了,應該大約為5(當然,這取決於您要做什么),而不是500。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.