gpt4 book ai didi

ios - 单击按钮时向图像添加阴影 - iOS Swift

转载 作者:行者123 更新时间:2023-11-28 11:37:58 25 4
gpt4 key购买 nike

当我点击播放/暂停按钮时,我试图在我的个人资料图片后面显示红色/绿色的阴影。

我试过了

@objc func toggleButton(_ sender: UIButton) {

//Play
if sender.image(for: .normal) == UIImage(named: "play") {

profileImage.layer.borderColor = UIColor(hexString: "#8e8e8e").cgColor
profileImage.layer.shadowColor = UIColor(hexString: "#099d57").cgColor
profileImage.layer.cornerRadius = profileImage.frame.width / 2
profileImage.layer.shadowOpacity = 1
profileImage.layer.shadowOffset = CGSize.zero
profileImage.layer.shadowRadius = 10
profileImage.layer.shouldRasterize = true
profileImage.layer.masksToBounds = false

} else {
//Pause

profileImage.layer.borderColor = UIColor(hexString: "#434343").cgColor
profileImage.layer.shadowColor = UIColor(hexString: "#df544a").cgColor
profileImage.layer.cornerRadius = profileImage.frame.width / 2
profileImage.layer.shadowOpacity = 1
profileImage.layer.shadowOffset = CGSize.zero
profileImage.layer.shadowRadius = 10
profileImage.layer.shouldRasterize = true
profileImage.layer.masksToBounds = false
}
}

我似乎无法让它工作。有人可以给我一些关于如何实现我所追求的目标的提示。

最佳答案

好的,你可以这样做:

// Replace this:
@IBOutlet weak var profileImage: UIImageView!
// With this:
@IBOutlet weak var profileImageContainer: UIView! // Change this to a UIView both in your storyboard or nib and here.
private weak var profileImageView: UIImageView? // Add this new variable

然后在你的 awak from nib 方法中:

override func awakeFromNib() {
super.awakeFromNib()

/* rest of your setup */
this.setupProfileImageView()
}

private func setupProfileImageView() -> Void {
if let superview = self.profileImageContainer {
superview.clipsToBounds = false
let imageView = UIImageView(frame: superview.bounds)
superview.addSubview(imageView)
imageView.layer.cornerRadius = imageView.frame.height / 2.0
imageView.layer.borderColor = // your color
imageView.clipsToBounds = true
imageView.contentMode = .scaleAspectFill
imageView.image = //your profile image here
self.profileImageView = imageView
// You may add constraints to pin your imageview here if you'd like. I would recommend that.
}
}

@objc func toggleButton(_ sender: UIButton) {

// Here I would try to compare the state if you are updating your state correctly instead of comparing the image. If this doesn't work, you may stick to what works for you
if sender.state == .normal {

self.profileImageView?.layer.borderColor = UIColor(hexString: "#8e8e8e").cgColor
self.profileImageContainer.layer.shadowColor = UIColor(hexString: "#099d57").cgColor
self.profileImageContainer.layer.shadowOpacity = 1
self.profileImageContainer.layer.shadowOffset = CGSize.zero
self.profileImageContainer.layer.shadowRadius = 10
self.profileImageContainer.layer.shouldRasterize = true
} else {
//Pause
self.profileImageContainer.layer.borderColor = UIColor(hexString: "#434343").cgColor
self.profileImageContainer.layer.shadowColor = UIColor(hexString: "#df544a").cgColor
self.profileImageContainer.layer.shadowOpacity = 1
self.profileImageContainer.layer.shadowOffset = CGSize.zero
self.profileImageContainer.layer.shadowRadius = 10
self.profileImageContainer.layer.shouldRasterize = true
}
}

关于ios - 单击按钮时向图像添加阴影 - iOS Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54539403/

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