Ios webview内容未得到更新
正在Ios webview内容未得到更新,ios,webview,Ios,Webview,正在UIWebView中加载NSString的内容。 然后在另一个视图中编辑nsstring的内容。一旦我返回到该屏幕,NSString中的内容将得到更新,但UIWebView中的内容不会得到更新 - (void)viewWillAppear:(BOOL)animated{ self.responseMessageWebView = [[UIWebView alloc] initWithFrame:self.middlecontainerScroller.frame];
UIWebView
中加载NSString
的内容。
然后在另一个视图中编辑nsstring的内容。一旦我返回到该屏幕,NSString
中的内容将得到更新,但UIWebView
中的内容不会得到更新
- (void)viewWillAppear:(BOOL)animated{
self.responseMessageWebView = [[UIWebView alloc] initWithFrame:self.middlecontainerScroller.frame];
[self.middlecontainerScroller addSubview:self.responseMessageWebView];
self.responseMessageWebView.opaque=NO;
[self.responseMessageWebView.scrollView setShowsVerticalScrollIndicator:YES];
self.responseMessageWebView.scrollView.delegate=self;
self.responseMessageWebView.tintColor = [UIColor blackColor];
self.responseMessageWebView.delegate = self;
[self.responseMessageWebView setBackgroundColor:[UIColor clearColor]];
self.responseMessageWebView.userInteractionEnabled = YES;
self.responseMessageWebView.scrollView.bounces = false;
self.responseMessageWebView.scrollView.scrollEnabled = false;
[self.responseMessageWebView reload];
NSString* htmlHead=@"<!DOCTYPE html><html><head><style>\
* {\
word-wrap: break-word;\
}\
</style>\
</head>\
<body>";
NSString* html=[NSString stringWithFormat:@"%@ Hello world my testing string%@",htmlHead,@"</body></html>"];
[self.responseMessageWebView loadHTMLString:html baseURL:nil];
}
- (void)webViewDidFinishLoad:(UIWebView *)aWebView {}
我无法使用
WKWebView
。有没有办法刷新UIWebView
?我突然想到的一件事是,您正在创建您的webview并将其添加到它的superview中,在视图中将出现:
,但可能永远不会清理它,因此如果您离开该屏幕并返回,您可能会得到一个重复的webview
您应该将当前在视图中的所有webview配置代码移到类似viewdiload
的地方。这基本上意味着除了设置HTML字符串和末尾的loadHTMLString:
调用的行之外的所有内容。您也不应该需要重新加载调用,我认为它不会有任何效果
这可能会解决您的问题,但如果不是,则唯一未解释的是实际的htmlHead
属性。这真的在什么地方更新了吗?如果不是,问题不在于webview,因为您没有更新数据。谢谢您的回复。我将我的web视图alloc init相关代码移动到viewdidload,是的,我必须确保我的html头字符串得到更新。但是仍然无法获取更新的内容您是否中断并检查或打印视图中htmlHead
的值,以确保它确实已更新?也许您可以提供用于更新字符串的代码。UIWebView已弃用。
- (void)viewWillAppear:(BOOL)animated{
self.responseMessageWebView = [[UIWebView alloc] initWithFrame:self.middlecontainerScroller.frame];
[self.middlecontainerScroller addSubview:self.responseMessageWebView];
self.responseMessageWebView.opaque=NO;
[self.responseMessageWebView.scrollView setShowsVerticalScrollIndicator:YES];
self.responseMessageWebView.scrollView.delegate=self;
self.responseMessageWebView.tintColor = [UIColor blackColor];
self.responseMessageWebView.delegate = self;
[self.responseMessageWebView setBackgroundColor:[UIColor clearColor]];
self.responseMessageWebView.userInteractionEnabled = YES;
self.responseMessageWebView.scrollView.bounces = false;
self.responseMessageWebView.scrollView.scrollEnabled = false;
[self.responseMessageWebView reload];
NSString* htmlHead=@"<!DOCTYPE html><html><head><style>\
* {\
word-wrap: break-word;\
}\
</style>\
</head>\
<body>";
NSString* html=[NSString stringWithFormat:@"%@my testing string%@",htmlHead,@"</body></html>"];
[self.responseMessageWebView loadHTMLString:html baseURL:nil];
}
- (void)webViewDidFinishLoad:(UIWebView *)aWebView {}