Хотите воссоздать следующий пользовательский интерфейс для временного интервала (временной шкалы)

#swiftui

#swiftui

Вопрос:

Я пытаюсь воссоздать следующее:

и у меня есть следующий код, в котором есть суть, но не точный внешний вид, и я все еще пытаюсь разобраться в аспектах пользовательского интерфейса Swift.

     VStack(spacing: 30) {

        Group {

            VStack {
                
                HStack {
                
                    Image(systemName: "2.circle")
                
                    Text("Jan 2th, 2021 at 2:34 PM") 
                
                }

                HStack {
                    
                    
                    Divider()
                    
                    VStack {
                        
                        Text("Title here")
                        
                        Text("Notes here")
                        
                        Text("Item not tracked on this day")
                        
                    }

                }.frame(height: 200)

            }
            
        }
        
    }
 

Может ли anymore обеспечить лучший способ зеркального отображения изображения?

Ответ №1:

Вот возможное решение. Протестировано с Xcode 12.1 / iOS 14.1

ДЕМОНСТРАЦИЯ

 var body: some View {
    VStack(spacing: 30) {
        
        HStack(alignment: .top) {
            
            VStack {
                Image(systemName: "2.circle")
                    .resizable()
                    .frame(width: 40, height: 40)
                HStack {
                    Divider()
                }
            }
            
            VStack(alignment: .leading) {
                Text("Jan 2th, 2021 at 2:34 PM").padding(.bottom)
                Text("Title here")
                    .font(.title).bold()
                Text("Notes here")
                    .font(.title3).bold().padding(.bottom)
                Text("Item not tracked on this day")
            }
        }
        .fixedSize(horizontal: false, vertical: true)
    }
}
 

Комментарии:

1. выравнивание по центру, как мне убедиться, что оно находится слева или впереди при его отображении?

2. Добавить в корневой контейнер .frame(maxWidth: .infinity, alignment: .leading)