2011-10-14 28 views
1

我想爲iOS應用程序製作一組幫助頁面,並且具有超文本目錄表似乎是合乎邏輯的。在xCode中使用超文本iOS

這是可能的,如果是這樣,我該如何在OBJ-C中包裝頁面鏈接?

謝謝..

我添加了一些代碼,我卡住了。我使用的是蘋果的TransWeb例如,作爲基地。

- (void)viewDidLoad 
{ 
    NSString *path = [[NSBundle mainBundle] pathForResource:@"page1" ofType:@"html"]; 
    NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:path];  
    NSString *htmlString = [[NSString alloc] initWithData: 
           [readHandle readDataToEndOfFile] encoding:NSUTF8StringEncoding]; 


    [self.webView loadHTMLString:htmlString baseURL:nil]; 

這是我是如何設置的HTML文件的鏈接..

<html> 
<p> 
Located in the Sierra Nevada foothills of <a href = "file://page2.html">California</a> 
     in the Sierra Nevada ........... 
</p> 

感謝迦勒給我的權利回答..

我已經改變了我的loadRequest web視圖如下:

[super viewDidLoad]; 
    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"page1" ofType:@"html"]isDirectory:NO]]]; 

,從而改變了HTML文件:

<a href = "page2.html">California</a> 

回答

1

當然 - 只需使用UIWebView來顯示您的HTML頁面。使用相對URL來鏈接頁面。

更新:我在您發佈的代碼中看到的一個問題是您的網址不正確。你有這樣的文件網址:file://page2.html。這是不正確的 - 如果你想要一個相對於主機根的url,你可以使用:file:///page2.html。該URL省略了主機,這意味着應該使用與當前頁面相同的主機。如果您希望使URL與當前頁面的主機和目錄相關,請忽略整個方案:page2.html。所以,你的錨標記可能看起來像:

<a href = "page2.html">California</a> 

另一個要考慮的是,你可能並不需要與NSFileHandle打擾。就在根頁面的數據直接加載到一個字符串:

NSString *htmlString = [NSString stringWithContentsOfFile:path encoding: NSUTF8StringEncoding error:nil]; 
+0

感謝迦勒,仍然抓我的頭 - 我已經添加了更多的代碼,我原來的問題(或將在某一時刻)。 –

+0

丁..謝謝!按照您的建議,我放棄了整個計劃,而且工作。我還發現了一個更簡單的xCode方法。我將它添加到我原來的帖子中。 –

相關問題