UIWebView 컨트롤을 내 응용 프로그램에 추가했습니다.UIWebView - 사용자 지정 컨텍스트 메뉴 만들기?
기본 컨텍스트 메뉴를 비활성화하려면 webViewDidFinishLoad를 구현했습니다.
- (void) webViewDidFinishLoad:(UIWebView *)theWebView {
NSString *varMySheet = @"var mySheet = document.styleSheet[0];";
NSString *addCSSRule = @"function addCSSRule(selector, newRule) {"
"if (mySheet.addRule) {"
"mySheet.addRule(selector, newRule);"
"} else {"
"ruleIndex = mySheet.cssRules.length;"
"mySheet.insertRule(selector + '{' + newRule + ';}', ruleIndex;"
"}"
"}";
...
NSString *insertRule = @"addCSSRule('body', '-webkit-touch-callout: none;')";
[webView stringByEvaluatingJavaScriptFromString:varMySheet];
[webView stringByEvaluatingJavaScriptFromString:addCSSRule];
[webView stringByEvaluatingJavaScriptFromString:insertRule];
...
}
그러나 웹보기의 상황에 맞는 메뉴가 사라지지 않습니다. 누구든지 나를 도와주세요.
는 또한[webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none';"];
그것은 작동하지 않았다
을 시도했다. 감사합니다. .
당신의 메소드 이름은'webViewDidFinishLoad :'가 아니라'webViewDidLoadFinished :'입니다. 그것은 질문 및/또는 코드의 오타입니까? – Jilouc
이 질문에 불편을 끼쳐 드려 죄송하지만 질문을 받아야한다고 생각합니다. 'UIWebView'' delegate' 속성을 설정하고 코드가 실행되고 있는지 확인하십시오. – nloko
예. 나는 [webView setDelegate : self]를 추가한다. – cyberworld