Как заставить тень кнопки работать со Swift 4.2? - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь заставить свою кнопку визуализировать тень в стремительном режиме. 4.2

Я следовал другим примерам безрезультатно.Чего мне не хватает?

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var btnHi: UIButton!         // Standard button tweeked in view controller
@IBOutlet weak var btnNext: NextButton!     // My custom button via class

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    btnHi.layer.cornerRadius  = btnHi.frame.height / 2
    btnHi.layer.borderWidth   = 3.0
    btnHi.layer.borderColor   = UIColor.darkGray.cgColor

    btnHi.layer.shadowColor   = UIColor.black.cgColor
    btnHi.layer.shadowOffset  = CGSize(width: 0.0, height: 6.0)
    btnHi.layer.shadowRadius  = 8
    btnHi.layer.opacity       = 0.5
    // btnHi.clipsToBounds       = true
    // btnHi.layer.masksToBounds = false
}

@IBAction func btnNext(_ sender: Any) {
    btnNext.setupShakeButton()
}

}

должен увидеть тень для кнопки, а не тени.enter image description here

1 Ответ

0 голосов
/ 13 февраля 2019

Вам не хватает shadowOpacity, что по умолчанию равно нулю.Вы, вероятно, не должны использовать opacity, потому что это делает всю кнопку полупрозрачной.

btnHi.layer.shadowColor = UIColor.black.cgColor
btnHi.layer.shadowOffset = CGSize(width: 0.0, height: 6.0)
btnHi.layer.shadowRadius = 8
btnHi.layer.shadowOpacity = 0.5

Также обратите внимание, что обрезание должно быть отключено:

btnHi.layer.masksToBounds = false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...