Хороший тип файла для отображения текста и изображений в UIWebView - PullRequest
4 голосов
/ 10 ноября 2010

UIWebView может использоваться для отображения файлов различных типов (например: a.xls .key.zip .numbers.zip .pages.zip .pdf .ppt .doc .rtf .rtfd.zip .key .numbers и.pages).

Я работаю над частью моего приложения "Как использовать это приложение" и хотел бы найти подходящий тип файла (хранящийся локально) для отображения текста и изображений в UIWebView.

Проблема заключается в отсутствии контроля над конечным результатом.Например, размер текста, похоже, не влияет ни на файл .rtf, ни на файл .doc.Я хочу иметь разумный контроль над свойствами текста и изображения.Я мог бы использовать PDF-файл, но мне не нравится, как PDF-файлы оформлены, что делает все намного меньше на экране.

У кого-нибудь есть опыт отображения различных типов файлов в UIWebView.Какой тип файла обеспечивает хороший творческий контроль над конечным результатом?

Ответы [ 5 ]

8 голосов
/ 10 ноября 2010

Я бы использовал старый добрый html . Он имеет большую поддержку в UIWebview (дух) и относительно прост в изучении и создании.

Обновление:

Чтобы вывести локальный файл из UIViewController, используйте такой процесс

UIWebView *myWebView = [[UIWebView alloc] initWithFrame:self.view.frame];
[view loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"documentation" ofType:@"html"]]]];
while ([view isLoading]) {
    // wait...
}
[self.view.addSubview:myWebView];
[view release];

Или, для удаленного файла:

UIWebView *myWebView = [[UIWebView alloc] initWithFrame:self.view.frame];
[view loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.myserver.com/ios/documentation/documentation.html"]]];
while ([view isLoading]) {
    // wait...
}
[self.view.addSubview:myWebView];
[view release];
0 голосов
/ 23 декабря 2010

Поскольку вы используете UIWEbView, я предлагаю вам взглянуть на CSS.Webkit был закодирован таким образом, чтобы CSS выглядел максимально приближенным к рендерингу нативного кода.

У вас также будет преимущество, если использовать мощную поддержку Apple этой функции.Если вы используете формат от Adobe или Microsoft в iOS, вы уже создаете препятствие для себя

Если вы хотите отобразить аккуратное изображение высокой четкости в UIWebView, вот хороший совет поИнкубатор: http://iphoneincubator.com/blog/windows-views/display-images-in-uiwebview

0 голосов
/ 17 декабря 2010

Вы можете использовать метод UIWebView :

loadData:MIMEType:textEncodingName:baseURL:

И использовать NSData методы класса ( dataWithContentsOfFile: ) для загрузки данных из локального файла.

HTML - лучший формат для использования, поскольку именно для этого изначально было создано веб-представление. А HTML предлагает широкий спектр функций и внешнего вида.

0 голосов
/ 17 декабря 2010

Я бы определенно использовал HTML для этой цели, он дает вам двойную гибкость, которую вы можете либо загрузить из предварительно кэшированного файла, который связан с вашим приложением, либо для динамического часто задаваемого вопроса, который может быть размещен на веб-сервере и доставлен оттуда1001 *

Если вы оберните UIWebView на контроллере, вы можете сделать простые фрагменты кода, такие как:

[self openURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"help" ofType:@"html"]]];

или

[self openURL:[NSURL URLWithString:@"http://somedomain.com/iPhoneHelp/"]];

Где выглядит метод открытого URLчто-то вроде

- (void) openURL:(NSURL *)url
{
    HelpWebViewViewController *webView = [[HelpWebViewViewController alloc] initWithURL:url];
    [self.navigationController pushViewController:webView animated:YES];
    [webView release];
}

Предоставьте метод init на этом веб-контроллере, чтобы установить URL для полноэкранного UIWebView

0 голосов
/ 10 ноября 2010

Использование html - самая простая альтернатива. Но PDF - самое гибкое решение. Однажды в проекте я использовал Core Graphics CGContextDrawPDFPage для рендеринга PDF-файлов. Это очень хорошо описано в Руководстве по программированию в Quartz 2D. Название раздела: «Создание, просмотр и преобразование документа PDF». После того, как он заработает, вы можете использовать любое программное обеспечение, экспортирующее в pdf, для создания вашего контента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...