SwiftUI @State для изменения отображаемого изображенияIOS

Программируем под IOS
Ответить
Anonymous
 SwiftUI @State для изменения отображаемого изображения

Сообщение Anonymous »

У меня есть словарь, созданный на основе чтения данных JSON, и я использую эти имена переменных для заполнения других представлений.

Так что

Код: Выделить всё

var charFullDetail: charDetail
Это возвращает несколько переменных, но меня интересуют две:
charFullDetail.cardFrontImage
charFullDetail.cardBackImage

Они содержат строки, которые соответствуют изображению, сохраненному в каталоге активов.

Затем My View использует эти переменные для отображения Изображение

Код: Выделить всё

Image(charFullDetail.cardFrontImage)
Это отлично работает.

Я хочу иметь возможность превратить изображение выше во что-то динамическое, чтобы либо при нажатии на него, либо при нажатии кнопки изображение отображалось противоположное.

Поэтому, если отображается .cardFrontImage и я нажимаю на изображение, я хочу, чтобы оно заменило изображение на

Код: Выделить всё

Image(charFullDetail.cardBackImage
Я не могу заставить работать код, который это делает - я думал создать переменную @State и использовать ее в Image(), чтобы, если эта переменная будет изменена, Image() обновится.

Но если я это сделаю,

Код: Выделить всё

@State var card = "charFullDetail.cardFrontImage"
а затем попробуйте использовать

Код: Выделить всё

Image(card)
Он терпит неудачу, поскольку не может найти изображение, поскольку он использует литеральную строку в качестве строки, а не ссылается на значение этой переменной - если это имеет смысл.

В принципе, как я могу заменить использование ссылки charFullDetail.cardFrontImage на переменную с состоянием, но заставить ее по-прежнему ссылаться на значение и не видеть его как строку "charFullDetail.cardFrontImage"?

Подробнее здесь: https://stackoverflow.com/questions/599 ... -displayed
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»