Nit*_*ish 9 uiwebview uiviewcontroller ios
我已经尝试了所有这些(一,二,三,四)解决方案,但是当我从Web视图屏幕返回到之前的viewController后,它会冻结大约2秒钟(有时更多).viewWillAppear中没有任何内容会导致冻结.
这是viewWillDisappearweb视图控制器:
-(void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[detailWebView stopLoading];
detailWebView.delegate = nil;
NSLog(@"viewWillDisappear called !!!");
}
Run Code Online (Sandbox Code Playgroud)
第一个viewController:
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.navigationController.navigationBar setBarTintColor:[UIColor colorWithRed:41.0/255.0 green:151.0/255.0 blue:132.0/255.0 alpha:1.0]];
UIImage *imagePlus = [[UIImage imageNamed:@"create.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
buttonCreate = [UIButton buttonWithType:UIButtonTypeCustom];
[buttonCreate setImage:imagePlus forState:UIControlStateNormal];
[buttonCreate addTarget:self action:@selector(createActivity:) forControlEvents:UIControlEventTouchUpInside];
buttonCreate.frame = CGRectMake(self.view.frame.size.width - 40, 10, 16, 16);
[self.navigationController.navigationBar addSubview:buttonCreate];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"back", nil) style:UIBarButtonItemStylePlain target:nil action:nil];
[backButton setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor blackColor]} forState:UIControlStateNormal];
self.navigationItem.backBarButtonItem = backButton;
[self.navigationController.navigationBar setTintColor:[UIColor blackColor]];
}
Run Code Online (Sandbox Code Playgroud)
更新:我刚刚确认,如果我让webView完全加载然后转到之前的viewController,则没有观察到冻结.
试试这个viewWillDisappear:
-(void)viewWillDisappear:(BOOL)animated {
[detailWebView setDelegate:nil];
[detailWebView loadRequest: [NSURLRequest requestWithURL: [NSURL URLWithString:@""]]];
[detailWebView stopLoading];
[super viewWillDisappear:animated];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1119 次 |
| 最近记录: |