RSS フィードからテキストを動的に設定する UITextView があります。textview は UIScrollview のサブビューです。最終的に、私はモバイルの新聞アプリを作成しているので、ユーザーはテキスト (およびその他のサブビュー) をスクロールできるはずです。
IBでビューを作成した後、追加しました
NSString *sourceCode = [NSString stringWithContentsOfURL:[NSURL URLWithString:self.URL] encoding:NSUTF8StringEncoding error:&error];
sourceCode = [self parseHTMLText:sourceCode];
CGSize maximumLabelSize = CGSizeMake(320,9999);
CGSize txtStringSize = [sourceCode sizeWithFont:self.body.font
constrainedToSize:maximumLabelSize];
CGRect newlblFrame = CGRectMake(0, 0, 320, txtStringSize.height);
self.body.frame = newlblFrame; //body is the textview
self.body.text = sourceCode;
self.scroll.contentSize=CGSizeMake(320, self.body.frame.size.height+300); //scroll is scrollview
典型的な NSLog が表示されますbody frame = {{0, 0}, {320, 2088}} scrollview frame = {{0, 0}, {320, 417}} scrollview content size = {320, 2388}
ただし、アプリを実行するとbody
、インターフェイスビルダーの高さが約 196 に維持され、スクロールビューはスクロールしません (移動すると、元の位置に跳ね返ります)。
ちなみに、textview のフレームを で手動で変更しようとするとCGRectMake
、NSLog は正しい高さを表示しますが、表示は変わりません。背景色などの他のプロパティを調整できるため、IB で正しく接続されていることを確認しました。
編集:
cliptoBounds
textview のプロパティをに設定した後NO
、textview は高さを調整し、テキスト全体を表示しようとします。ただし、画面の最後で途切れてしまい、スクロールできません。
これが私が現在見ているものです。便宜上、スクロールビューの背景色を灰色にしました。スクロールビューの一部が部分的に白く、部分的に灰色になっている理由がわかりません。(タイトル)は別のラベルであるところで)