2011-11-07 17 views
1

私のアプリでは、UIWebViewベースのビューコントローラが、アプリケーション自体に関する情報とクレジットを表示しています。情報の一環として、mainBundleのinfoDictionaryから取得したアプリケーションバージョンが表示されます。したがって、この文字列は元のHTMLにはありません。プレースホルダーを置き換えることによって、プログラムで設定されます。UIWebViewを使用してインフォメーションページを実装する際の問題

したがって配列は: 1)Iは、HTML loadHTMLString:baseURL:

方法呼び出すことによって、私は実際のバージョン 3)IがのUIWebViewで得られた文字列を表示してプレースホルダを置き換える)NSStringの 2にHTMLを読み込みますまた、インターネット上のいくつかのWebページへのハイパーリンクを持っています。 これは問題ありません: ハイパーリンクに触れ、それに対応するWebページに移動すると元の情報ページに戻ることができません(canGoBackはNOを返し、goBackは何もしません)。

提案がありますか? ありがとうございます。

答えて

2

最後に、私は共有したい満足できる解決策を見つけました。

1)私はアプリのバージョンを表示する次のコードを挿入することで、私の情報ページのHTMLコードを変更:

<p>App version: 
<script type="text/javascript"> 
    var args = document.location.search.substring(1).split("&"); 
    for (var i in args) { 
     var nameValue = args[i].split("="); 
     if (nameValue[0] == "version") 
      var version = nameValue[1]; 
    } 
    if (version) 
     document.write(version); 
</script> 
</p> 

のコードのこの作品は、URLのクエリ部分を解析し、 "version = <version>"引数を探し、その値を使ってアプリケーションのバージョンを表示します。

2)のUIWebViewで使用されるURLを調製する場合、私はメインバンドルからアプリのバージョンを取得:

NSString* version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; 

それから私は私のURL文字列の最後に追加します。

NSString* urlString = [NSString stringWithFormat:@"<my_info_page>.html?version=%@", version]; 

3)最後に、私はページを表示するのUIWebViewを使用します。

mWebViewはIBOutletある
NSURL* url = [[NSURL alloc] initWithString:urlString]; 
NSURLRequest* request [[NSURLRequest alloc] initWithUrl:url]; 
[mWebView loadRequest:urlRequest]; 
[urlRequest release]; 
[url release]; 

、 XIBファイルのWebビューに適切に接続されたUIWebViewタイプの

私のiPhone 4では、ハイパーリンクをたどったときにWebビューのバック/フォワード機能を含めて正しく機能します。

1

私はアプリから抜け出すと、この場合にはサファリをロードします:

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType { 

    [[UIApplication sharedApplication] openURL:request.URL]; 
    return NO; 

} 

唯一の欠点は、ユーザーがアプリから出てくるということです。あなたは最初に警告するためにその方法にalertviewを置くことができます...

また、独自の戻るボタンをコーディングする必要があります。

+0

私が探しているものではありませんが、面白い提案です。投票する。 –

関連する問題