2009-03-06 8 views
9

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

+4

私は追加するものは何もありませんが、あなたの名前は素晴らしいです。 – Patrick

+0

@Patrick ..はい.. :) – rockey

答えて

10

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

21

アップルのUIScollView documentationはかなり良いです、そこから始めてクラスを理解する必要があります。

スクロールビューは、画面がスライドする大きな表示面と考えることができます。スクロールビューにサブビューを追加し、スクロールすることは、スクロールビュー上に画面を配置することです。画面は、下のスクロールビューのコンテンツの一部まで見ることができるウィンドウのように機能します。

これを行うには、スクロールビューには通常のUIViewよりもいくつかの追加のプロパティがありますが、それはUIViewのようなものです。テキストを描画するには、サブビューを追加する必要があります。スクロールビューは、UIViewとまったく同じ方法で設定され、表示されます。つまり、フレームを別のビューに追加し、実際にテキストをレンダリングできるサブビューをUIScrollViewに追加する必要があります。

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

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

*より正確には、フレームがスライドしますが、フルスクリーンのUIScrollViewを作成していると仮定しています。私はあなたが小さい視野を望むなら、それを一般化できると確信しています。

1

私は自分のアプリケーションの命令ペインにこの方法でUIScrollViewを使用しました。それは働いたが、私は結果に不満を抱いていた。私はその後、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]; 
1
Uは、このウェブサイトを参照することが

http://www.edumobile.org/iphone/iphone-programming-tutorials/scrollview-example-in-iphone/

Uは、スクロールビューを作成するステップバイステップに従ってくださいiPhoneで...幸運:)

+0

あなたはスパマーではなく、SOの本物のユーザーであるようです。だから、同じ答えを3回投稿したのはちょっと困惑しています。罰則を受ける前に、これらの複製を削除する必要があります。 – APC

+0

@ APCあなたはペナルティを言いました。私はすでに削除しました。唯一のペナルティは、彼女の答えを下落させるコミュニティから来ます。 – Will

+0

@ウィル - 人々は彼女の回答を迷惑メールとして警告しています。だから、ジェニファーが2つの方法でリークしているのですが、今は魔法の「6つの旗」に当たっていないと思われますが、現存するスパムフラグは2日後に消えてしまいます。 – APC