Расширение UIView в Swift - PullRequest
       22

Расширение UIView в Swift

0 голосов
/ 28 января 2019

Я поместил UIView extension в класс утилит, написанный на swift.
Однако, когда я пытаюсь вызвать метод из расширения,

Компилятор говорит мне

Член не существует

Вот мое расширение:

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
    }
}

Так как UIImage подклассы UIView,Я думаю, что я должен быть в состоянии применить метод к пользовательскому MKAnnotation изображению в UIViewController, вызвав

myImage.addShadow()

Однако я получаю ошибку:

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

Если яПоместите метод в расширение UIImage, я получаю ту же ошибку.

Должен ли я как-то рассказать UIViewController о классе утилит или что может быть не так с моим кодом?

1 Ответ

0 голосов
/ 28 января 2019

Вы делаете расширение для 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.Если это так, вот вопрос, который поможет вам.

Как создать округленное изображение с рамкой и тенью в виде MKAnnotationView в Swift?

...