2012-01-03 4 views
0

実行時にスクロールビューのコンテンツサイズのサイズを変更しようとしています。私は実際に値を自分で設定すると私はこれを行うことができますが、私は最後のオブジェクトで計算をした後に新しい値を割り当てようとすると、それはうまくいきません3!私は私のintを正しく設定していないので、私はそれを推測しています。uiscrollviewのサイズを変更するcontentSize、新しい値を適用できません

[scroller setContentSize: CGSizeMake(scroller.frame.size.width ,scroller.frame.size.height*2)]; 

に動作していない:

int newHeight=textViewRect.origin.y+textViewRect.size.height+5; 
    [scroller setContentSize: CGSizeMake(scroller.frame.size.width ,newHeight)]; 

EDIT:

CGRect textViewRect=textView.frame; 
textViewRect=CGRectMake(textViewRect.origin.x, textViewRect.origin.y, textViewRect.size.width, textViewRect.size.height); 

MAYBE THIS:

だろうnewHeight値をすべてのヘルプは常にみんな

この作品を高く評価しています間違っている私はviewDidLoadメソッドでそれを持っているという事実と関係がありますか?あなたの助け

+0

newHeight変数の値は何ですか? – Robin

+0

67ですが、textViewはview.origin.y = 66で始まり、textViewの高さはビューの境界よりも下に広がります – d4ndym1k3

答えて

0

私がしたことは、テキストビューとして使用するためにサブクラスuiwebviewです。私のサブクラスにデータを渡した後、これをWebビューにロードします。これを読み込んだら、そのフレームをwebViewDidFinishLoadingメソッドのコンテンツサイズに合わせてサイズ変更します。

テキストビューがビューに追加される前に、数ミリ秒の遅延がありました。これは、値が0になったことを意味します。これを回避するには、サブクラスに代理メソッドを追加して通知してください装填が完了したとき。ロードが完了したら、それに応じてcontentSizeのサイズを変更します。

0

ため

おかげでライン

int newHeight=textViewRect.origin.y+textViewRect.size.height+5; 

の上にブレークポイントを入れて、newHeightの値を見つけます。値がscrollerの高さより小さい場合、スクロールできません。

+0

なぜ私はブレークポイントが必要なのか混乱していますか?私は私の問題は、intの割り当てが正しくないと思った – d4ndym1k3

+0

通常、ブレークポイントは、各ステートメントの値を見つけるために使用されます。 'NSLog'を使って値を見つけることもできます。 – Ilanchezhian

+0

私はそれを試み、私のアプリクラッシュします。私は文字列形式のために%iと%dを試しました – d4ndym1k3

関連する問題