デフォルトの高さ 1717px のデータを含むがUIScrollview
あります。実行時に、高さがそれぞれ 540px のサブビューを 1 つ以上追加する必要があります。それらのうちの何個を追加する必要があるかは、事前に不明です。
これらをメソッドのスクロールビューに追加してから、正しい値にviewdidload
設定します。contentsize
また、contentsize を必要な値に設定します。メソッドの最後にログに記録すると、すべて問題なく、contentsize
まだ正しいです。
表示されるcontentsize
と 1717px に戻りますが、コンテンツはまだそこにあります。の通常の範囲を超えてスクロールすると、追加されたコンテンツを一瞬表示できますuiscrollview
が、その後元に戻ります。
私の関連部分viewdidload
は以下です
NSArray *sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"counter" ascending:YES]];
for (Facade * f in [self.inspection.facades sortedArrayUsingDescriptors:sortDescriptors]) {
NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:@"facadeView" owner:self options:nil];
facadeView *facadeInfo = [subviewArray objectAtIndex:0];
facadeInfo.facade = f;
facadeInfo.frame = CGRectMake(0, self.scrollView.frame.size.height, facadeInfo.frame.size.width, facadeInfo.frame.size.height);
self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width, self.scrollView.frame.size.height+facadeInfo.frame.size.height);
self.scrollView.frame = CGRectMake(0, 0, self.scrollView.frame.size.width, self.scrollView.frame.size.height+facadeInfo.frame.size.height);
[self.scrollView addSubview:facadeInfo];
}
self.scrollView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);;
// now add our scroll view to the main view
[self.view addSubview:self.scrollView];
contentsize
元の値にリセットされないようにするにはどうすればよいですか?