我正在Xcode中开发一个应用程序但是我遇到了一个问题。
基本上在主应用页面上,有一个包含Web视图的小部分。每当我换到另一个视图控制器并返回时,我看到它闪烁并重新加载。有没有办法防止它每次打开视图时重新加载?而是每次打开应用程序时重新加载。
这是代码:
NSURL *webUrl = [NSURL URLWithString:@"myurl.com"];
NSURLRequest *webrequestUrl = [NSURLRequest requestWithURL:webUrl];
[webView loadRequest:webrequestUrl];
webView.scrollView.scrollEnabled = NO;
webView.scrollView.bounces = NO;
答案 0 :(得分:2)
每次进入该界面时,您的网页视图都会重新加载,可能是因为您将其添加到viewDidAppear:或viewWillAppear。
将您的代码块添加到viewDidLoad方法中,以便仅在加载视图时执行(即第一次显示时)。
- (void)viewDidLoad:(BOOL)animated {
NSURL *webUrl = [NSURL URLWithString:@"myurl.com"];
NSURLRequest *webrequestUrl = [NSURLRequest requestWithURL:webUrl];
[webView loadRequest:webrequestUrl];
webView.scrollView.scrollEnabled = NO;
webView.scrollView.bounces = NO;
}
编辑:哦,通过转到另一个视图然后回来你意味着回到导航堆栈(或切换导航堆栈)。在这种情况下,您可以使用webview对视图控制器进行强有力的引用并重用它。虽然我不建议这样做,但除非该屏幕是您应用程序中最重要的屏幕。
答案 1 :(得分:0)
希望你的逻辑不是方法
- (void)viewDidLoad
将您的代码移至 - viewDidLoad
即使您遇到问题,也可以在导航时通过预先加载的UIWebView
。