0

いくつかのサブビューを追加する 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 を数回ロードした後にランダムに表示されるようです。

4

1 に答える 1

2

これは、スクロールビューにはこのビューにさらに2つのものがあるためです。1つは水平スクローラーで、2つ目は垂直スクローラーで、上下左右にスクロールすると自動的に表示されます

于 2011-06-23T12:04:05.213 に答える