Как я могу получить доступ к модификаторам представления в SwiftUI? - PullRequest
2 голосов
/ 08 июня 2019

Предположим, у меня есть View с Image, который имеет свойство shadow:

struct ContentView: View {
    var body: some View {
        let myImage = Image("turtlerock").shadow(radius: 10)

        return myImage
    }
}

Теперь представьте, что я хочу получить доступ к значению радиуса тени. Я предполагал, что смогу сделать это:

print(myImage.shadow.radius)

Однако это возвращает ошибку:

Значение типа '(Цвет, Длина, Длина, Длина) -> _ModifiedContent <_ModifiedContent, _ShadowEffect>' (aka '(Color, CGFloat, CGFloat, CGFloat) -> _ModifiedContent <_ModifiedContent, _ShadowEffect>') не имеет члена 'радиус'

Есть ли способ получить доступ к модификатору?

1 Ответ

4 голосов
/ 08 июня 2019

Тип возврата myImage:

_ModifiedContent<Image, _ShadowEffect>

Мы можем получить доступ к исходному изображению, выполнив:

myImage.content

Мы можем получить доступ к модификатору эффекта тени, набрав:

myImage.modifier

Итак, чтобы сделать то, что вы хотите, вы должны набрать:

print(myImage.modifier.radius)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...