У меня есть Geometry Reader в .background текстового представления, которое сохраняет размер представления в переменную во время .onAppear, который работает для начального расчета размера представления. Но если представление увеличивается, я не могу придумать, как Geometry Reader может обновить переменную размера (taskHeight) представления.
.background(
GeometryReader {geometry in
ZStack{
Rectangle()
.fill(Color.clear)
.onAppear{
self.taskHeight = geometry.size.height
}
// below is a function I created to try to get an updated taskHeight
// every time the String being typed updates, however including this
// gives me an error (written below the code snippet)
if (shouldCheckTaskSize())
{
self.taskHeight = geometry.size.height
Text("")
}
} //ZStack
}
)
функция, с которой я пытался решить мою проблему, выдает эту ошибку: «Компилятор не может проверить это выражение в разумные сроки; попробуйте разбить выражение на отдельные подвыражения»
, и это функция:
func shouldCheckTaskSize() -> Bool
{
if (self.newTaskTitle != self.lastSizedTaskTitle)
{
self.lastSizedTaskTitle = self.newTaskTitle
return true
}
else
{
return false
}
}