1

UIScrollView を機能させるのに苦労しています。

サブビューとして UIImageView と UITextView を持つ UIScrollView があります。

UIScrollView、UIImageView、および UITextView がコントローラーに接続されています。

viewDidLoad でこのコード行を使用すると、次のようになります。

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

スクロールが機能します。ただし、下にスクロールすると、UITextView に多くのテキストが含まれていると、テキストの下部が切り取られます。 これは下にスクロールした後に表示されるものです

UITextView のフレームを調整する必要があると思います。これらの 3 行を viewDidLoad に追加すると、次のようになります。

CGRect frame = self.bioText.frame;
frame.size = self.bioText.contentSize; 
self.bioText.frame = frame;

テキストはさらに途切れています。

さらに少ないテキスト

いくつかの質問:

  • スクロール時にすべてのテキストが表示されるように UITextView を適切に調整するにはどうすればよいですか。
  • スクロールビューの contentSize をすべてのサブビューの合計に設定する方法はありますか (現在のようにハードコードする必要はありません)
4

2 に答える 2

1

textViewのcontentSizeを調整する必要はありません。テキストに応じて、自動的に調整されます。

UIScrollViewのcontentSizeをそのサブビューに応じて調整し、すべてのサブビューが垂直方向にある場合は、これを使用できます

CGFloat height = 0
for(UIView* sub in myScrollView.subviews)
height += sub.frame.size.height

myScrollView.contentSize = CGSizeMake(self.contentSize.width, height)
于 2012-04-04T18:16:06.230 に答える
0

今日、私はこの問題を解決しました。viewDidLayoutSubviews で textView のフレームを設定できます。これは私のアプリのコードです:

- (void)viewDidLayoutSubviews {
    CGRect rect = self.textView.frame;
    rect.size.height = self.textView.contentSize.height;
    self.textView.frame = rect;
}

これがあなたを助けることを願っています。

于 2014-03-30T01:59:37.047 に答える