Цель:
- Большой заголовок: выравнивание по левому краю, с использованием .largeTitle.weight(.bold).
- Большой заголовок: выравнивание по левому краю, с использованием .largeTitle.weight(.bold).
- Кнопка: должна иметь тот же стиль, что и собственная кнопка панели инструментов (наследовать глобальный оттенок, правильную толщину шрифта и поведение при взаимодействии с системой).
- Выравнивание: они должны находиться на ОДНОЙ СТРОКЕ.
- Если я использую .toolbar: кнопка выглядит идеально (правильно оформлено iOS), но макет ограничен. Заголовок либо центрируется (.principal), либо выносится на отдельную строку (большой режим .navigationTitle). Размещение их обоих на панели инструментов с помощью .topBarLeading и .topBarTrailing не позволяет заголовку быть настоящим bigTitle.
- Если я использую собственный заголовок HStack: я могу идеально выровнять их по одной строке
, но кнопка теряет свой родной стиль. Мне приходится
вручную копировать размер, насыщенность и оттенок шрифта. Это хрупко
и не похоже на кнопки панели инструментов,
используемые в других местах приложения (например, кнопка «Назад» или меню с многоточием).
- Попытка 1: пользовательский HStack (выравнивание в порядке, стиль НЕПРАВИЛЬНЫЙ)
Код: Выделить всё
HStack(alignment: .firstTextBaseline) { Text("Monthly Overview").font(.largeTitle.weight(.bold)) Spacer() Menu { ... } label: { Image(systemName: "plus") // Manually styled, never looks quite "native" } } - Попытка 2: Панель инструментов (стиль в порядке, выравнивание НЕПРАВИЛЬНО)
Код: Выделить всё
.toolbar { ToolbarItem(placement: .topBarTrailing) { // Button looks perfect here, but is stuck in the nav bar // while the title is in the ScrollView below it. } } - Попытка 3
ZStack / Overlay (невозможно идеально выровнять) Пробовал накладывать кнопку панели инструментов на содержимое прокрутки, но поддерживать ее идеальное соответствие базовой линии текста при прокрутке пользователем или изменении динамического типа - кошмар.
Среда: iOS 26.0+, SwiftUI, Xcode 16+
Подробнее здесь: https://stackoverflow.com/questions/798 ... erving-nat