ではSettings.bundle、識別子 のテキスト入力がありますurl_preference。
ViewController.h、ViewController.m、およびストーリーボードを使用してUIWebView、設定から URL を表示するように設定しました。
- (void) updateBrowser {
NSString *fullURL = [[NSUserDefaults standardUserDefaults] stringForKey:@"url_preference"];
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[_EmbeddedBrowser loadRequest:requestObj];
}
これは機能します。
ただし、[設定] の URL が変更された場合、UIWebViewは新しい URL を反映するように更新されません。
アプリをバックグラウンドで実行できないようにすることで、更新された URL が反映されないという問題が解決されます。ただし、新しい問題が発生します。[設定] の URL が変更されていない場合、セッションは保持されません。が変更されたUIWebView場合にのみ更新する必要があります。url_preference
を使用applicationWillEnterForegroundしAppDelegate.mて強制的UIWebViewにリロードしようとしましたが、問題が発生しています。
ViewController では、次を実行できます。
- (void)viewDidLoad {
[self updateBrowser];
}
しかし、App Delegate で同じことを実行しようとしても更新されません。
- (void)applicationWillEnterForeground:(UIApplication *)application
{
ViewController *vc = [[ViewController alloc]init];
[vc updateBrowser];
}
(私は、 、およびにも含め- (void) updateBrowser;ましたViewController.h#import "ViewController.h"AppDelegate.m
ありがとうございました。