Метка SwiftUI с динамическим изображением

Можно ли использовать динамическое изображение в метке?

Что-то вроде :

Label("SP98", uiImage: myFunctionToReturnImageFromText("test"))

используется в этом контексте:

Menu {
                            
                            if fuelTypeisAvailable(fuelType: "Diesel") {
                                
                                Button {
                                    updateStuff()
                                    Haptics.shared.play(.light)
                                    preferredFuelType = "Diesel"
                                    
                                } label: {
                                    Label("Diesel", systemImage: "fuelpump.circle")
                                   
                  

          }
                        }

Спасибо

Почему бы просто не использовать: Label("title", image: "image")?

burnsi 09.04.2022 13:22

Я хочу, чтобы изображение было динамичным. Поэтому у меня нет имени текстовой строки. Я хочу предоставить uiImage.

jtapping 09.04.2022 13:25

Простой ответ - да. Вы не опубликовали Минимально воспроизводимый пример (MRE), но Label не принимает UIImage.

Yrb 09.04.2022 13:37
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
0
3
32
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуй это

struct ImageLabel: View {
    
    let title: String
    let image: Image
    
    public init(_ title: String, uiImage: UIImage) {
        self.title = title
        self.image = Image(uiImage: uiImage)
    }
    
    public init(_ title: String, image: Image) {
        self.title = title
        self.image = image
    }
    
    var body: some View {
        Text(title)
        image
    }
}

Apple рекомендует никогда не использовать AnyView. Кроме того, это возвращает два отдельных Views одновременно.

Yrb 09.04.2022 13:32

@Yrb возвращает два отдельных представления, но если вы поместите его в hstack или vstack, он будет работать хорошо.

Nhat Nguyen Duc 09.04.2022 13:37

ОП хочет Label

Yrb 09.04.2022 13:40
Ответ принят как подходящий

Я думаю, что инициализатор, который вы хотите использовать, это:

Label {
   Text("SP98")
} icon: {
   Image(uiImage: myFunctionToReturnImageFromText("test"))

}

Я думаю, что это близко, но, по-видимому, это не очень хорошо работает в меню. Извините, не уточнил.

jtapping 09.04.2022 16:41

Что ж, вы получили ответ на заданный вопрос. Вы должны принять это и задать лучший вопрос.

Yrb 09.04.2022 17:01

Другие вопросы по теме