Как настроить меню SwiftUI для отображения галочки слева от выбранного параметра?IOS

Программируем под IOS
Ответить
Anonymous
 Как настроить меню SwiftUI для отображения галочки слева от выбранного параметра?

Сообщение Anonymous »

В настоящее время галочка отображается справа от любого выбранного параметра, даже если он стоит первым в HStack. Однако я бы хотел, чтобы оно отображалось слева. Благодарим вас за помощь. Если вам понадобятся какие-либо разъяснения, дайте мне знать.

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

    public struct DropDownRow: View {
private let titleContent: TitleContent
private let subtitleContent: SubtitleContent
private let menuOptions: [String]?
@Binding private var selectedIndex: Int
private var onSelection: ((Int, String) -> Void)?
private var item: String?

public var body: some View {
HStack {
VStack(alignment: .leading, spacing: 4) {
titleContent
.font(.title)
.foregroundColor(.white)
.fontWeight(.regular)
subtitleContent
.font(.caption)
.foregroundColor(.gray)
.fontWeight(.regular)
}
Spacer()
Menu {
if let options = menuOptions {
ForEach(options.indices, id:\.self) { index in
Button {
self.selectedIndex = index
if let type = item {
self.onSelection?(index, type)
}
} label: {
HStack{
if index == selectedIndex {
Image(systemName: "checkmark")
}
Text(options[index])
Spacer()
}
}
}
}
} label: {
HStack {
Image(systemName: "chevron.down")
.resizable()
.renderingMode(.template)
.aspectRatio(contentMode: .fit)
.foregroundColor(.gray)
.frame(width: 16, height: 16, alignment: .trailing)
}
.padding(.leading, 16)
.padding([.trailing, .vertical], 6)
}
}
.padding(16)
.cornerRadius(10)
.accessibilityAddTraits(.isButton)
.noListSeparators()
}
Я пытался использовать средство выбора со стилем «.menu», но оно не обновляет выбранный мной индекс. Насколько я могу судить, единственный способ обнаружить изменение - через onReceive?

Подробнее здесь: https://stackoverflow.com/questions/787 ... of-the-sel
Ответить

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

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

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

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

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