ПРЕДУПРЕЖДЕНИЕ ⚠️: Это когда читатель Geomtery не смог мне помочь с геометрией, и я начал биться головой о стену
Вот что вы можете сделать:
struct ContentView: View {
var text = "bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla"
var width : CGFloat = 250
var height: CGFloat {
var size : CGFloat
let chars = self.width / 14 // assuming width of 1 character is 14 which is the case by default for Text view
let lines = CGFloat(text.count) / chars
size = CGFloat(14 * (lines + 1))
return size
}
var body: some View {
ZStack {
TestView(text: text)
.frame(width: width, height: height)
.background(Color.red)
}
}
}
Установите высоту TestView вручную, используя высоту в качестве вычисляемого свойства.
История вопроса о том, как я оценил значение по умолчанию высота шрифта
Нажмите shift + команда + 4 Используйте указатель и найдите разницу между относительными позициями y