2014-12-19 6 views
2

내가 웹보기에 URL을로드하고 가정 및 것 같습니다 :HTML보기를 신속하게 webView에로드 할 수 있습니까?

enter image description here 난에 많이 검색 : 내가 좋아하는이 URL에서 원하지 않는 일을 제거 할

enter image description here

그러나 인터넷하지만 도움이 아무것도 found.but 내가 HTML 뷰에서 일부 태그를 제거하기 전에 webView로로드 생각합니다. 그러나 나는 이것을 어떻게하는지 모른다.

가능합니까? 그렇다면 어떻게이 작업을 수행 할 수 있습니까?

도와주세요.

+0

아마 NSURLSession으로 html을 다운로드하고 원치 않는 태그를 지울 수 있습니다. 그 후 웹보기에 html 문자열을로드 할 수 있습니다. – mustafa

답변

6

제 질문에 대한 해결책을 찾았습니다. THIS 자습서를 통해 많은 도움이되었습니다.

이 튜토리얼에 표시된대로 사용자 정의 HTML보기를 webView에로드하는 단계별 예제가 나와 있습니다. 문자열에서

웹보기 :

는 웹보기를 사용하는 방법은 여러 가지가 있습니다. 속성이 지정된 문자열 앞에 서식있는 텍스트를 가져 오는 유일한 방법이었습니다. 개발자는 HTML 텍스트 문자열을 작성하고 loadHTMLString 메서드를 사용하여 UIWebview로 보냅니다. viewDidLoad 메서드를 this로 변경하십시오.

overridefuncviewDidLoad() { 
    super.viewDidLoad() 
    letmyHTMLString:String! = "<h1>Hello Pizza!</h1>" 
    myWebView.loadHTMLString(myHTMLString, baseURL: nil) 
} 

줄 3은 loadHTMString 메서드에 옵션 문자열이 필요하기 때문에 선택적 문자열을 만듭니다. 4 행은 문자열을로드하고 HTML의 기본 URL 경로를 설정하는 두 번째 매개 변수 인 baseURL을가집니다. 일반적으로이 값을 nil로 설정하지만 이미지 나 스타일 시트처럼로드하려는 파일이 있으면 파일의 기본 경로를 제공합니다. 빌드 및 실행 꽤 지루했다, 그래서 모든 페이지 나누기없이이와 함께 문자열을, 좀 더 HTML 코드를 추가, 교체 할

enter image description here

.

letmyHTMLString:String! = "<h1 style=\"font-family: Helvetica\">Hello Pizza</h1><p>Tap the buttons above to see <strong>some cool stuff</strong> with <code>UIWebView</code><p><img src=\"https://apppie.files.wordpress.com/2014/09/photo-sep-14-7-40-59-pm_small1.jpg\">" 

알면. 우리는 몇 pplaces에 따옴표를 추가하고 따옴표 뒤에 백 슬래시 우리가 문자열 내에서 그렇게 할 수 있도록해야합니다. 구축 및 실행 "\ 우리가 견적 이스케이프 시퀀스를 사용하여 몇 군데를 알 .

enter image description here

파일에서 웹보기 및 CSS : 그건 좀 낫다.

문자열에서 포맷 뭔가를 만들려고 노력은 쉬운 일이 아니다 우리의 작업은 ㄱ 것 우리가 별도의 파일에 HTML을 가지고 있다면 더 쉬워진다. 심지어 더 나은 외부 스타일 시트 것입니다. 키보드의 Command-N을 누르거나 드롭 다운 메뉴의 File> New> File ...을 눌러 새 파일을 만드십시오. iOS 및 기타에서 기타로 이동하여 빈 파일을 만듭니다.

enter image description here

다음을 클릭 한 다음 파일 myHTML.html의 이름을 지정합니다. 파일을 저장하십시오.위로 ViewController.swift 파일에

<!--<DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> 
 
<!-- Based on lesson from http://www.w3.org/Style/Examples/011/firstcss -->Hello Pizza Home 
 
    
 
     <!-- Site navigation menu --> 
 
<div class="navbar"> 
 
      <a href="index.html">Home</a> 
 
      <a href="musings.html">Toppings</a> 
 
      <a href="town.html">Crust</a> 
 
      <a href="links.html">Ovens</a> 
 
</div> 
 
<div class="content"> 
 
     <!-- Main content --> 
 
<h1>Hello Pizza!</h1> 
 
This is a site for the love of all things pizza! 
 
    
 
But we are not just pizza, we are with anything on a flatbread. So look around and you will find naan, flatbreads, pitas and tortilla related stuff too!!! 
 
    
 
If that is not enough, check our sister site <a href="pie">Hello Pie</a> 
 
    
 
<img src="https://apppie.files.wordpress.com/2014/09/photo-sep-14-7-40-59-pm_small1.jpg" alt="" /> 
 
     <!-- Sign and date the page, it's only polite! --> 
 
</div> 
 
<address>Made 27 October 2012 
 
by makeapppie.com.</address>
이에 helloPizza 방법을 변경 :

@IBAction func helloPizza(sender: UIBarButtonItem) { 
let myURL = NSBundle.mainBundle().URLForResource("myHtml", withExtension: "html") 
let requestObj = NSURLRequest(URL: myURL!) 
myWebView.loadRequest(requestObj) 
} 

2 호선이 myHTML의 URL을 생성 빈 파일에 다음 코드를 추가합니다 .html을 주 번들이라고합니다. 메인 번들은 특정 프로젝트에 대한 모든 코드 파일을 XCode에 저장하는 디렉토리입니다. 주 번들은 장치에 따라 위치를 변경합니다. 리터럴 경로를 제공하는 대신이 상대 표시기를 사용합니다. 3 행은 4 행의 loadRequest 메소드에 입력하는 객체 인 NSURLRequest를 작성합니다. loadRequest는 HTML 코드를 UIWebView에로드합니다. 이것을 빌드하고 실행하십시오. 피자 버튼을 클릭하면이 얻을 :

enter image description here

이보기가 꽤 아니지만, 우리는 조금 그것을 청소하기 위해 일부 CSS를 추가 할 수 있습니다. 당신이 전에 그랬던 것처럼, 또 다른 빈 파일을 만듭니다라는 이름의 myCSS.css 새 파일에 다음을 추가

body { 
color: #eeeeee; 
background: #a0a088; 
font-family:Helvetica} 
h1 { 
color: #dd1111; 
font-family:Chalkduster; 
font-size: 18pt} 
a{ 
font-family:Helvetica; 
font-weight: bold; 
color: #ffffaa; 
text-decoration:none; 
padding-left: 5px; 
} 
img{ 
padding-left:0; 
max-width: 90%; 
max-height: 90%; 
box-shadow: 3px 3px 3px 0px #202020 
} 
.navbar { 
background-color: #000000; 
color: white; 
position: absolute; 
top: 0em; 
left: 0em; 
width: 100% } 
.content{ 
padding-left: 1em; 
padding-top: 1em; 
} 

myHTML.Html의 HTML 코드는 base을 번들 있다고 가정합니다. 구축 및 실행하고 우리는 더 나은 형식의 웹보기를 얻을 : 이제

enter image description here

내가 브라우저에서 페이지 소스를 복사 할 수 있습니다이 예제를 다음 내 HTML 파일로 그 HTML 코드를 붙여 넣을 수 있습니다 내가 할 수 그 HTML 코드에서 원하지 않는 태그를 제거하고 나중에이 HTML을 webView에로드 할 수있는 것처럼 변경됩니다.

관련 문제