的WebView插入/修改内容动态
问题描述:
在我的应用程序,我使用的WebView来显示内容, 现在是可以动态修改的内容,要求是这样的,的WebView插入/修改内容动态
我会得到网络信息并且根据他们我需要设置样式/字体/属性或可能我需要追加当连接的设备没有响应新的文本,
到目前为止我用下面的代码,
-(void)modifyString:(NSString *)string{
[sourceString stringByAppendingString:errorString :string]
}
-(void)reloadPage{
[[pWebView mainFrame] loadHTMLString:htmlString baseURL:nil];
}
我不'牛逼认为它正确的方式来实现它,我试图利用
[pWebView replaceSelectionWithMarkupString:@"<html><body><p>Hi there </p></br></body></html>”];
,而是因为,我没有选择,并选择我的问题是 如何设置选择什么也不显示?
亲切的问候
罗汉
答
没关系 通过这种方式
在AwakeFromNib方法解决了这个问题,添加以下代码,
-(void)awakeFromNib{
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"about:blank"]];
//URL Requst Object
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
//Load the request in the UIWebView.
[[pWebView mainFrame ]loadRequest:requestObj];
[pWebView setEditable:YES];
[pWebView setNeedsDisplay:YES];
}
并添加该功能到主体元件附加,
-(void)appendTagToBody:(NSString *)tagName InnerHTML:(NSString *)innerHTML
{
// Gets a list of all <body></body> nodes.
DOMNodeList *bodyNodeList = [[[pWebView mainFrame] DOMDocument] getElementsByTagName:@"body"];
// There should be just one in valid HTML, so get the first DOMElement.
DOMHTMLElement *bodyNode = (DOMHTMLElement *) [bodyNodeList item:0];
// Create a new element, with a tag name.
DOMHTMLElement *newNode = (DOMHTMLElement *) [[[pWebView mainFrame] DOMDocument] createElement:tagName];
// Add the innerHTML for the new element.
[newNode setInnerHTML:innerHTML];
// Add the new element to the bodyNode as the last child.
[bodyNode appendChild:newNode];
}
每当想改变的内容,
-(void)appendString:(NSString *)pString{
[self appendTagToBody:@"div" InnerHTML:@"<div><p> Hi there </p></div>"];
[self setNeedsDisplay:YES];
}
这似乎并没有导致与''
加载''