2012-04-04 8 views
1

UIScrollViewを動作させるのに苦労しています。UIScrollviewでUITextViewのフレームを設定する方法

私はそれがサブビューとしてUIImageViewとUITextViewを持つUIScrollViewを持っています。

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

私はのviewDidLoadでのコード行を使用します。

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

スクロール作品を。ただし、スクロールダウンするときに、UITextViewに多くのテキストが含まれている場合、テキストの下部が切り取られます。 this is what is displayed after scrolling down

私はUITextViewのフレームを調整する必要があると仮定します。 viewDidLoadに次の3行を追加すると:

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

さらにテキストが切り捨てられます。

even less text

いくつかの質問:

  • スクロールしたときにすべてのテキストが表示されるように、どのように私は適切にUITextViewを調整することができます。
  • 、それはあなたがのTextViewのcontentSizeを調整する必要はありません(代わりに私が今持っているようにハードコードにそれを持つ)サブビュー

答えて

1

だ全ての合計にscrollviewのcontentSizeを設定することが方法です。あなたはUIScrollViewののcontentSizeがサブビューに応じて調整し、あなたのサブビューのすべてを垂直にあなたは私が解決してきたこの

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

myScrollView.contentSize = CGSizeMake(self.contentSize.width, height) 
0

今日使用することができているしたい場合には、自動的にそのテキスト

に応じて調整しますこの控えめなm。 viewDidLayoutSubviewsでtextView 'フレームを設定できます。これはあなたを助けることができる

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

希望: これが私のアプリのコードです。

関連する問題