簡體   English   中英

界面生成器中的iOS陰影視圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM