Я создаю приложение, используя Swift3
, и мне трудно правильно определить высоту для UIScrollView
, я использую autolayout
и создаю эту структуру:
UIScrollView
UIView
// The containerview
UIImageView
//Constraint
Верхние края = 20 по отношению кUIView
UITextView
//Constraint
Верхние края = 40 по отношению кUIImageView
UITextView
//Constraint
Верхние края = 20 по отношению кUITextView
UIButton
//Constraint
Верхние грани 30 по отношению кUITextView
В настоящее время я использую эту логику для вычисления высоты UIScrollView
.
override func viewDidLayoutSubviews() {
var scrollHeight : CGFloat = 0.0
for view in self.containerView.subviews {
view.layoutIfNeeded()
scrollHeight += view.frame.size.height
}
// Adding height for scrollview, according to the sum of all child views
self.scrollView.contentSize.height = scrollHeight
}
Но я могу получить только высоту views
, и они не учитывают «поля» Constraints
, я хотел бы знать, как рассчитать правильную высоту для UIScrollView
, скорректированную в соответствии с их содержанием.