gpt4 book ai didi

ios - Swift 中的 UIView 扩展

转载 作者:搜寻专家 更新时间:2023-11-01 06:54:37 26 4
gpt4 key购买 nike

我在用 swift 编写的实用程序类中放置了一个 UIView extension
但是,当我尝试从扩展中调用方法时,

编译器告诉我

The member does not exist

这是我的扩展:

extension UIView {
func addShadow() {
layer.shadowColor = UIColor.black.cgColor
layer.shadowOffset = CGSize(width: 0, height: 0)
layer.shadowOpacity = 0.5
layer.shadowRadius = 5
clipsToBounds = false
}
}

由于 UIImageUIView 的子类,我认为我应该能够将该方法应用于 UIViewController 中的自定义 MKAnnotation 图像 通过调用

myImage.addShadow()

但是,我得到错误:

Value of type 'UIImage' has no member 'addShadow'

如果我将方法放在 UIImage 的扩展中,我会得到同样的错误。

我是否必须以某种方式告诉 UIViewController 有关实用程序类的信息,或者我的代码可能有什么问题?

最佳答案

您正在对 UIView 进行扩展。不是 UIImageView

extension UIImageView {

func addShadow() {
layer.shadowColor = UIColor.black.cgColor
layer.shadowOffset = CGSize(width: 0, height: 0)
layer.shadowOpacity = 0.5
layer.shadowRadius = 5
clipsToBounds = false
}
}

另外请直接使用UIImageVIew,不要使用UIImage

编辑

根据您的评论,我认为您正在尝试修改 MKAnnotationView。如果是这样,这里有一个问题可以帮助您。

How to create rounded image with border and shadow as MKAnnotationView in Swift?

关于ios - Swift 中的 UIView 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54409422/

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