質問

多くの行を含むテキストを表示したい。スクロールビューに複数行ラベルを追加しましたが、何も表示されませんでした。これは、スクロールビューを使用する正しい方法ではないようです。スクロールビューを使用して、ユーザーが下にドラッグしてさらにテキストを表示できるようにする方法

役に立ちましたか?

解決

UITextViewを使用できます。これはUIScrollViewの子であり、そのtextプロパティをそのフレームに収まらないテキストの量に設定すると、ビューはスクロール可能になります。

他のヒント

Appleの UIScollViewドキュメントはとても良いので、そこから始めてクラスを理解する必要があります。

Scrollviewは、画面がスライドする大きなビューサーフェスと考えてください*。スクロールビューにサブビューを追加すると、スクロールはスクロールビューの上に画面を配置するようなものになります。画面は、スクロールビューのコンテンツの一部まで透けて見えるウィンドウのように機能します。

これを行うために、スクロールビューには通常のUIViewに対していくつかの追加のプロパティがありますが、1つの重要な点でUIViewのようなものです。コンテンツ自体を直接レンダリングしません。テキストを描画するには、サブビューを追加する必要があります。スクロールビューは、UIViewとまったく同じように設定および表示されます。つまり、フレームを設定して別のビューに追加し、テキストを表示するには、実際にテキストをレンダリングできるサブビューをUIScrollViewに追加する必要があります。

要求する基本的なUIScrollViewを設定するには、通常のフルスクリーンビューのように作成する必要があります。フレームをウィンドウと同じサイズに設定し、スクロールビューをサブビューとしてウィンドウに追加します。次に、テキストを保持するための大きなUITextViewを作成します。 UITextビューは、好きなだけ大きくすることができます。具体的には、画面より大きくすることができます。 UIScrollViewのcontentSizeプロパティをUITextViewのフレームと同じに設定し、UITextビューをUIScrollViewのサブビューとして追加します。

これが機能したら、contentOffsetプロパティを使用してコンテンツを自動的に移動し、ズームを制御し、スクロールイベントを監視するデリゲートを設定できます。

*より正確に、その上でフレームがスライドしますが、フルスクリーンUIScrollViewを作成していると仮定しています。より小さなビューが必要な場合は、一般化できると確信しています。

この方法でUIScrollViewを使用して、アプリケーションの1つの指示ペインを作成しました。うまくいきましたが、結果に不満がありました。その後、UIWebViewの使用に切り替えて、その結果に非常に満足しています。スクロールビューのサイズ変更を自動的に処理します。HTMLのすべての書式設定機能を取得し、追加情報(または外部サイト)へのリンクを作成できます。別のHTMLファイルとデリゲートコードを追加するだけです。使用したコードは次のとおりです(HTMLファイルをリソースとしてアプリに追加しました):

NSString *path = [[NSBundle mainBundle] pathForResource:@"instructions" ofType:@"html"];
NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:path];
NSString *htmlString = [[NSString alloc] initWithData: [readHandle readDataToEndOfFile] encoding:NSUTF8StringEncoding];
[self.instructionsView loadHTMLString:htmlString baseURL:nil];

Uは、このWebサイトを参照できます http: //www.edumobile.org/iphone/iphone-programming-tutorials/scrollview-example-in-iphone/

U順を追ってiphoneのスクロールビューを作成します...幸運を祈ります:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top