在你們的幫助下,我們提出了這個解決方案,它的工作非同尋常!
我正在使用一個帶有標記的HTML「模板」文件和一個UIWebView。
我在做什麼基本上是這樣的:
- 得到的HTML文件的路徑。
- 用html模板的內容創建一個字符串。
- 用我的字符串替換html中的標記(NSLocalized字符串 - 大量文本)。
- 使用「loadHTMLString」加載到新創建的字符串的WebView內容中。
結果:從70MB的內存佔用,現在我有一個12MB的內存佔用(和相當於約20頁A4文本)。
下面的代碼:
NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"yourhtmlfile" ofType:@"html"];
NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
[_webView setBackgroundColor:[UIColor clearColor]];
[_webView setOpaque:NO];
NSString *htmlBody = [NSString stringWithContentsOfFile:htmlFile encoding:NSUTF16StringEncoding error:nil];
htmlBody = [htmlBody stringByReplacingOccurrencesOfString:@"//marker_1//" withString:NSLocalizedString(@"localizedKey_1", nil)];
htmlBody = [htmlBody stringByReplacingOccurrencesOfString:@"//marker_2//" withString:NSLocalizedString(@"localizedKey_2", nil)];
htmlBody = [htmlBody stringByReplacingOccurrencesOfString:@"//marker_3//" withString:NSLocalizedString(@"localizedKey_3", nil)];
[self.webView loadHTMLString:htmlBody baseURL:baseURL];
現在我可以使用HTML的好東西像文本格式:d!
我希望以上會幫助很多人:)!
謝謝你們的支持!
['UITableView'](http://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html)有什麼問題? – DrummerB
你是否暗示我應該使用UITableView? – Razvan
看看使用DTCoreText。它會渲染真正長的屬性字符串,可能正是你所需要的。我在商店的應用程序中使用它。 –