Как настроить внешний вид пунктов меню в SwiftUI?IOS

Программируем под IOS
Ответить
Anonymous
 Как настроить внешний вид пунктов меню в SwiftUI?

Сообщение Anonymous »

Я создаю меню, в котором пользователь сначала выбирает категорию, а затем подкатегорию; Я хотел бы, чтобы каждая вложенная метка меню и метка кнопки меню имели индивидуальный внешний вид. Я попытался использовать модификатор .background(Color.blue), но единственной меткой, которая правильно отображает фон, является самое внешнее меню.
Как я могу изменить каждую вложенную метку меню и Метка кнопки меню, чтобы иметь собственный фон?
Изображение
< /p>
import SwiftUI

struct ContentView: View {
var body: some View {
DropDownMenu()
}
}

struct DropDownMenu: View {
private let categories: [Category]
@State private var selectedSubcategory = "Select a category"

let letters = ["a", "b", "c"]

init() {
self.categories = [Category(name: "letters", subcategories: letters)]
}

var body: some View {
/* Category */
Menu {
/* Subcategory */
Menu {
Button {
self.selectedSubcategory = categories[0].subcategories[0]
} label: {
Text("\(categories[0].subcategories[0])")
}
Button {
self.selectedSubcategory = categories[0].subcategories[1]
} label: {
Text("\(categories[0].subcategories[1])")
}
Button {
self.selectedSubcategory = categories[0].subcategories[2]
} label: {
/* Blue background does not render */
Text("\(categories[0].subcategories[2])")
.background(Color.blue)
}
}
label: {
/* Blue background does not render */
Text("\(categories[0].name)")
.background(Color.blue)
}
} label: {
/* Blue background does render */
Text("\(selectedSubcategory)")
.foregroundColor(.black)
.background(Color.blue)
}
}
}

struct Category: Hashable {
var id = UUID()
var name: String
var subcategories: [String]
}


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

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

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

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

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

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