gpt4 book ai didi

ios - 如何为 MDCTextField 添加阴影?

转载 作者:行者123 更新时间:2023-11-28 07:30:54 26 4
gpt4 key购买 nike

这是我的代码:

@IBOutlet var txtFirstName: MDCTextField!
var txtFirstNameController: MDCTextInputControllerOutlined?
override func viewDidLoad() {
txtFirstNameController = MDCTextInputControllerOutlined(textInput: txtFirstName)
}

我想在文本字段中添加阴影,但我不知道如何使用 MaterialComponents我在这里提到了我测试过的所有方法及其结果:

第一种方式:

class ShadowLayer : MDCTextField{
override class var layerClass: AnyClass {
return MDCShadowLayer.self
}

var shadowLayer: MDCShadowLayer {
return self.layer as! MDCShadowLayer
}

func setDefaultElevation() {
self.shadowLayer.elevation = .cardResting
}
}

第二种方式:

extension MDCTextField {

func elevate(elevation: Double) {
self.backgroundColor = UIColor.white
self.layer.masksToBounds = false
self.layer.shadowColor = UIColor.black.cgColor
self.layer.shadowOffset = CGSize(width: 0, height: elevation)
self.layer.shadowRadius = CGFloat(elevation)
self.layer.shadowOpacity = 1

}
}

choose country -> 1st way, choose city-> 2nd way

选择国家->第一种方式,选择城市->第二种方式

我要的是下图:

enter image description here

最佳答案

尝试设置 self.clipsToBounds = true before 设置 self.layer.masksToBounds = false

您的提升功能应如下所示:

func elevate(elevation: Double) {
self.backgroundColor = UIColor.white
self.clipsToBounds = true
self.layer.masksToBounds = false
self.layer.shadowColor = UIColor.black.cgColor
self.layer.shadowOffset = CGSize(width: 0, height: elevation)
self.layer.shadowRadius = CGFloat(elevation)
self.layer.shadowOpacity = 1
}

关于ios - 如何为 MDCTextField 添加阴影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54733698/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com