2011-12-06 8 views
2

UIVewViewTXT file (ASCII)を表示しようとしています。たとえば、MacBookのSafariでサイトwww.partisani.net/35.txtを使用するとうまく動作しますが、iPhoneのSafariはうまく動作しません。 SafariのiPhoneは別のレイアウトのファイルを表示します。誰かが私を助けてくれますか?UIWebViewにTXTファイルまたはASCIIファイルを正しく表示する方法

+0

«別のレイアウト»とはどういう意味ですか? – Macmade

答えて

2

私が知る限り、MacとiOSのファイルのレイアウトはまったく同じです。テキストラッピングについて話していますか?ブラウザのサイズを変更してMac上で確認できます。

行の長さを別の方法で処理したい場合は、スクロールを設定する必要があります。詳細と

UPDATE:

:)オリジナルのコンテンツを変更するこの "一種の"。基本的には、webviewのcontentSizeを調整し、テキストファイルにデフォルトのビューポート幅を割り当てるのではなく、テキストファイルを再描画するためにテキストファイルを定型HTMLに埋め込む必要があります。あなたもUIWebViewDelegateプロトコルに準拠して、コントローラを持っているとwebViewDidFinishLoad:メソッドを実装する必要があるとして、

NSURL* url = [NSURL URLWithString:@"http://www.partisani.net/35.txt"]; 
UIWebView* vw = (UIWebView*)self.view; 
vw.delegate = self; 

NSData* Data = [NSData dataWithContentsOfURL:url]; 
NSString* aStr = [[NSString alloc] initWithData:Data encoding:NSASCIIStringEncoding]; 

NSString* responseStr = [NSString stringWithFormat: 
         @"<HTML>" 
         "<head>" 
         "<title>Text View</title>" 
         "</head>" 
         "<BODY>" 
         "<pre>" 
         "%@" 
         "/pre>" 
         "</BODY>" 
         "</HTML>", 
         aStr]; 
[vw loadHTMLString:responseStr baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]]; 
[aStr release]; 

vw.delegate = selfが重要である。後者は、私のような何かを成し遂げます。必要に応じてそこには、あなたのWebViewのスクロール幅と高さを設定することができます。

- (void) webViewDidFinishLoad:(UIWebView *)webview {  
    UIScrollView* sview = (UIScrollView*)[[webview subviews] objectAtIndex:0]; 
    sview.contentSize = CGSizeMake(1000, 800); 
} 

これは非常に必要最小限の実装がある - おそらくあなたはまた、ロジックがロードされたテキストではなく、に基づいて必要な幅と高さを計算したいと思いますここに示す定数を使用します。その元のデータに関連付けられた構文解析ロジックが必要になりますが、これはあなたの作業を開始するはずです。

+0

テキストの折り返し。 [リンク](http://www.partisani.net/wrapping.jpg)をご覧ください! – Gigi

+0

右。そのため、表示可能なビューペインを超える幅を持つように、WebビューのcontentSizeを変更する必要があります。 – jstevenco

+0

そして/またはcssを使ってテキストをあなたが望むように見えるようにします。つまり、テキストファイルを読み込まずに、div内のテキストで新しいファイルやデータオブジェクトを作成してレンダリングします。ウェブ上にレンダリングされた見栄えのよいテキスト。 –

0

scalesPageToFitプロパティをyesに設定すると、問題が解決する場合があります。

+0

Do not works、[link](http://www.partisani.net/wrapping.jpg)をご覧ください! – Gigi

0

これは実際にはTXTやASCIIとは関係なく、コンテンツのサイズを変更するUIWebviewとは分かりません。風景iPadの画面にロードされ、あなたが言及した

ファイルは、MacのSafari上とまったく同じレイアウトを持っています

enter image description here

あなたはのUIWebViewはscalesPageToFitプロパティでそのコンテンツをスケールするかどうかを変更することができます。

+0

Do not works、[link](http://www.partisani.net/wrapping.jpg)をご覧ください! – Gigi

+0

そのスクリーンショットで使用されているwebviewのフレームは何ですか?また、webviewのscalesPageToFitプロパティの値を変更しようとしましたか? – Mutix

関連する問題