UITextView
RSS フィードからテキストを動的に設定する があります。テキストビューは のサブビューです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}
ただし、アプリを実行すると、ボディはインターフェイスビルダーの高さを約196に維持し、スクロールビューはスクロールしません(移動すると、元の位置に跳ね返ります)
余談ですが、CGRectMake を使用してテキストビューのフレームを手動で変更しようとすると、NSLog は正しい高さを示しますが、ビューは異なって表示されません。背景色などの他のプロパティを調整できるため、IB で正しく接続されていることを確認しました。
編集:
textview の cliptoBounds プロパティを NO に設定した後、textview は高さを調整し、テキスト全体を表示しようとします。ただし、画面の最後で途切れてしまい、スクロールできません。
これが私が現在見ているものです。便宜上、スクロールビューの背景色を灰色にしました。スクロールビューの一部が部分的に白く、部分的に灰色になっている理由がわかりません。(タイトル)は別のラベルであるところで)