0

UIScrollView の contentSize を次のように設定しました。

self.scrollView.contentSize = CGSizeMake(320,800); 

ただし、下の画像でわかるように、UITabbar の下に最後の 1 行がまだ表示されています。なんで?

iOS7を使用しています。ここに画像の説明を入力

4

1 に答える 1

1

scrollViewcontentSizeは、スクロールできるコンテンツのサイズを参照します。たとえば、contentSizeスクロールするコンテンツが 2000 ピクセルに相当するため、高さを 2000 ピクセルにすることができます。

あなたcontentSizeは問題ではありません。あなたは実際にそれを800にしたいと思っています(これは、下部のタブバーを含まない、すべてのテキストとグラフィックの高さだと思います)。変更したいのは、scrollViewオブジェクト自体の実際のサイズです。次に、scrollView は正しい高さ (のようなものscrnHeight - tabBarHeight) になりますが、コンテンツのサイズ( scrollViewcontentSizeのもの)は引き続き反映されます。

[self.scrollView setFrame:CGRectMake(self.scrollView.frame.origin.x, 
    self.scrollView.frame.origin.Y, 320, scrnHeight - tabBarHeight)];
self.scrollView.contentSize = CGSizeMake(320, 800);

そして、あなたはすべて準備ができているはずです。800 が実際には必要な数ではない可能性があります。必要な数値は、スクロールビューの上部から下部にあるそのテキストの一番下までの正確な高さです。しかし、これはアイデアです:)

于 2013-09-27T21:30:12.350 に答える