SwiftUI. Модификаторы

Справочник

Модификаторы

Модификаторы позволяют изменять размеры/внешний вид и другие параметры вьюшек.

Официальная документация по модификаторам

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

Пример 1

Данный вариант валиден и может быть использован

Text("Hello World! Я рад изучать Swift вместе в этой прекрасной среде разработки Xcode")
	  // Корректно
    .baselineOffset(20)
    .multilineTextAlignment(.leading)

Но поменять модификаторы местами невозможно

Text("Hello World! Я рад изучать Swift вместе в этой прекрасной среде разработки Xcode")
	  // Не корректно
    .multilineTextAlignment(.leading)
    .baselineOffset(20)

Пример 2

Совместное использование padding и frame дадут разный результат в зависимости от порядка.

Итоговый размер вьюшки - 250

Text("Hello World!")
    .frame(width: 200, height: 100, alignment: .trailing)
    .padding(50)

Итоговый размер вьюшки - 200

Text("Hello World!")
    .padding(20)
    .frame(width: 200, height: 100, alignment: .trailing)

font

Определяет шрифт текстового содержимого

Text("Hello World")
	// Системный шрифт body
  .font(.body) 
	// Системный шрифт с измененным размером
  .font(.system(size: 25))   
	// Системный моноширный шрифт с размером 23 и уменьшенной насыщенной
  .font(.system(size: 23, weight: .light, design: .monospaced))

VStack {
		Text("These two text views have the same font")
		Text("applied to their parent view.")
}
// шрифт сразу для всех элементов стека
.font(.system(size: 16, weight: .light, design: .default))

padding

Определяет внутренние отступы вью.

Text("Hello, World!")
    // системный отступ со всех сторон
    .padding()
    // отступ заданного размера
    .padding(30)
    // отступ сверху и снизу
    .padding(.vertical, 20)
    // отступ слева и справа
    .padding([.trailing, .leading], 40)

Добавить комментарий