Для моего приложения SwiftUI я создал простое представление Title
с заданным размером шрифта и цветом текста. Title
объявляется следующим образом:
struct Title: View {
var string: String
var body: some View {
Text(string)
.font(.system(size: 32))
.color(Color.black)
}
}
У меня есть следующие текстовые объекты в теле моего просмотра содержимого:
var body: some View {
VStack(alignment: .leading) {
Text("Welcome")
.font(.largeTitle)
.color(Color.black)
Text("to SwiftUI")
.font(.largeTitle)
.color(Color.secondary)
}
}
Итак, теперь я хочу заменить эти два Text
на мои Title
s:
var body: some View {
VStack(alignment: .leading) {
Title("Welcome")
Title("to SwiftUI")
}
}
После замены представлений я получаю некоторые, казалось бы, не связанные сообщения об ошибках из XCode, которые мешают компиляции приложения:
Статический член «ведущий» нельзя использовать в экземпляре типа «HorizontalAlignment»
'(LocalizedStringKey) -> Текст' не может быть преобразован в '(LocalizedStringKey, String ?, Bundle ?, StaticString?) -> Text'
'Шрифт' не конвертируется в 'Шрифт?'
... и больше. Возвращение к Text
вместо Title
"исправляет" проблемы.
Что интересно, у меня также есть пользовательское представление PrimaryButton
, которое я смог добавить без проблем:
struct PrimaryButton: View {
var title: String
var body: some View {
Button(action: { print("tapped") }) {
Text(title)
.font(Font.primaryButton)
.offset(y: 1)
.padding(.horizontal, 20)
.padding(.vertical, 14)
}
}
}
... и затем использовать его:
PrimaryButton(title: "Let's go")
Вопрос
Это просто бета-версия или я что-то упустил?