第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何將Gradient應(yīng)用于iOS Swift App的后臺(tái)視圖

如何將Gradient應(yīng)用于iOS Swift App的后臺(tái)視圖

HUWWW 2019-07-29 16:21:05
如何將Gradient應(yīng)用于iOS Swift App的后臺(tái)視圖我正在嘗試應(yīng)用漸變作為視圖的背景顏色(故事板的主視圖)。代碼運(yùn)行,但沒有任何變化。我正在使用xCode Beta 2和Swift。這是代碼:class Colors {   let colorTop = UIColor(red: 192.0/255.0, green: 38.0/255.0, blue: 42.0/255.0, alpha: 1.0)   let colorBottom = UIColor(red: 35.0/255.0, green: 2.0/255.0, blue: 2.0/255.0, alpha: 1.0)   let gl: CAGradientLayer   init() {     gl = CAGradientLayer()     gl.colors = [ colorTop, colorBottom]     gl.locations = [ 0.0, 1.0]   }}然后在視圖控制器中:  let colors = Colors()   func refresh() {         view.backgroundColor = UIColor.clearColor()         var backgroundLayer = colors.gl         backgroundLayer.frame = view.frame         view.layer.insertSublayer(backgroundLayer, atIndex: 0)       }     }   }
查看完整描述

3 回答

?
LEATH

TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊

Xcode 8.2?Swift 3.0.2


您可以設(shè)計(jì)自己的漸變視圖,如下所示:

@IBDesignableclass GradientView: UIView {

    @IBInspectable var startColor:   UIColor = .black { didSet { updateColors() }}
    @IBInspectable var endColor:     UIColor = .white { didSet { updateColors() }}
    @IBInspectable var startLocation: Double =   0.05 { didSet { updateLocations() }}
    @IBInspectable var endLocation:   Double =   0.95 { didSet { updateLocations() }}
    @IBInspectable var horizontalMode:  Bool =  false { didSet { updatePoints() }}
    @IBInspectable var diagonalMode:    Bool =  false { didSet { updatePoints() }}

    override public class var layerClass: AnyClass { return CAGradientLayer.self }

    var gradientLayer: CAGradientLayer { return layer as! CAGradientLayer }

    func updatePoints() {
        if horizontalMode {
            gradientLayer.startPoint = diagonalMode ? CGPoint(x: 1, y: 0) : CGPoint(x: 0, y: 0.5)
            gradientLayer.endPoint   = diagonalMode ? CGPoint(x: 0, y: 1) : CGPoint(x: 1, y: 0.5)
        } else {
            gradientLayer.startPoint = diagonalMode ? CGPoint(x: 0, y: 0) : CGPoint(x: 0.5, y: 0)
            gradientLayer.endPoint   = diagonalMode ? CGPoint(x: 1, y: 1) : CGPoint(x: 0.5, y: 1)
        }
    }
    func updateLocations() {
        gradientLayer.locations = [startLocation as NSNumber, endLocation as NSNumber]
    }
    func updateColors() {
        gradientLayer.colors    = [startColor.cgColor, endColor.cgColor]
    }

    override public func layoutSubviews() {
        super.layoutSubviews()
        updatePoints()
        updateLocations()
        updateColors()
    }}



查看完整回答
反對(duì) 回復(fù) 2019-07-29
?
慕的地10843

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊

如果您需要更改漸變的方向,則必須使用startPoint和endPoint。

let gradient: CAGradientLayer = CAGradientLayer()gradient.colors = [UIColor.blue.cgColor, UIColor.red.cgColor]gradient.locations = [0.0 , 1.0]gradient.startPoint = CGPoint(x: 0.0, y: 1.0)gradient.endPoint = CGPoint(x: 1.0, y: 1.0)gradient.frame = CGRect(x: 0.0, y: 0.0, width: self.view.frame.size.width, height: self.view.frame.size.height)self.view.layer.insertSublayer(gradient, atIndex: 0)


查看完整回答
反對(duì) 回復(fù) 2019-07-29
  • 3 回答
  • 0 關(guān)注
  • 609 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)