iOS | SWIFTUI | Кнопки не работают в HStack | Как я могу это исправить, есть ли обходной путь?

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

Для контекста, это представление внутри представления .sheet, если это может быть проблемой здесь.

Мне нужна помощь с этим. Спасибо.

Изменить: я попытался создать интервал между тремя кнопками, кнопки High и Low работают, но Med не работает.

Ответ: Добавьте zIndex (1) в HStack.

import SwiftUI
struct AddTasks: View {
    @State var data = 0
    @State var taskName = ""
    @State private var prioritySelectedHigh : Bool = false
    @State private var prioritySelectedMed : Bool = false
    @State private var prioritySelectedLow : Bool = false
    @State private var priority : String = ""
    var items = [1,2,3,4,5,6,7,8,9,10]
    var body: some View {
        NavigationView {
            VStack(alignment:.center, spacing: 30){
                ZStack {
                    RoundedRectangle(cornerRadius: 9)
                        .foregroundColor(Color("TabBar "))
                        .opacity(0.7)
                        .frame(width: 310, height: 60, alignment: .center)
                    TextField(" Task Name ", text: $taskName)
                        .frame(width: 270, height: 60, alignment: .center)
                    
                }



                //   These Buttons dont work
                HStack(alignment: .center, spacing: 52){
                    ZStack {
                        RoundedRectangle(cornerRadius: 9)
                            .foregroundColor(.pink)
                            .opacity(0.2)
                            .frame(width: 70, height: 40, alignment: .center)
                        Button(action: {
                            print("Hi")
                        }, label: {
                            Text("High")
                                .font(.system(size: 18))
                                .foregroundColor(.red)
                        })
                    }
                    ZStack {
                        RoundedRectangle(cornerRadius: 9)
                            .foregroundColor(.orange)
                            .opacity(0.2)
                            .frame(width: 70, height: 40, alignment: .center)
                        
                        
                        Button(action: {}, label: {
                            Text("Med")
                                .font(.system(size: 18))
                                .foregroundColor(.orange)
                        })
                    }
                    ZStack {
                        RoundedRectangle(cornerRadius: 9)
                            .foregroundColor(.green)
                            .opacity(0.2)
                            .frame(width: 70, height: 40, alignment: .center)
                        Button(action:{}, label: {
                            Text("Low")
                                .font(.system(size: 18))
                                .foregroundColor(.green)
                        })
                    }
                }
                
                
                ZStack {
                    RoundedRectangle(cornerRadius: 9)
                        .foregroundColor(Color("TabBar "))
                        .opacity(0.7)
                        .frame(width: 310, height: 60, alignment: .center)
                    
                    Picker(selection: $data, label: Text("Data"), content: {
                        ForEach(items, id:\.self) { item in
                            Text("\(item)")
                                .rotationEffect(Angle(degrees: 90))
                        }
                    })
                    .labelsHidden()
                    .rotationEffect(Angle(degrees: -90))
                    .frame(maxHeight: 60)
                    .clipped()
                    .foregroundColor(Color("AccentColor"))
                    .font(.system(size: 20))
                }
            }.navigationTitle("New Task")
        }.environment(\.colorScheme, .dark)
        
    }
    
    
    
    
    
}

struct AddTasks_Previews: PreviewProvider {
    static var previews: some View {
        AddTasks()
        //            .environment(\.colorScheme, .dark)
    }
}

person Vivek Pattanaik    schedule 31.05.2021    source источник


Ответы (1)


Если вы добавите

.zIndex(1)

модификатор к вашему HStack, он должен работать.

person Patrick Wynne    schedule 31.05.2021
comment
О, спасибо, это работает - person Vivek Pattanaik; 31.05.2021