У меня есть UIScrollView, к которому я добавляю пару подпредставлений (сделано в loadView
) (см. Код):
// Add the views to the Scroll View
[scrollView addSubview:label];
[scrollView addSubview:careerDescriptionWebView];
self.view = scrollView;
Затем я хочу вычислить высоту добавленных подпредставлений (сделано в viewWillAppear:
, чтобы установить высоту UIScrollView (см. Этот код):
// Change the height of the Scroll View dynamically to match the content
float hgt = 0;
for (UIView *view in scrollView.subviews) {
hgt += view.frame.size.height;
NSLog(@"View: %@, height: %f", [[view class] description], view.frame.size.height);
}
[scrollView setContentSize:CGSizeMake(scrollView.frame.size.width,hgt)];
Поэтому позже, когда я проверяю вывод консоли, я вижу это:
2011-06-23 13:34:48.344 Acando[90355:207] View: UILabel, height: 21.000000
2011-06-23 13:34:48.345 Acando[90355:207] View: UIWebView, height: 1017.000000
2011-06-23 13:34:48.346 Acando[90355:207] View: UIImageView, height: 7.000000
2011-06-23 13:34:48.347 Acando[90355:207] View: UIImageView, height: 145.000000
Это не появляется сразу, сначала оно отображается правильно только с UILabel и UIWebView, которое кажется случайным образом после загрузки viewcontroller пару раз.