Используйте вместо этого BufferedWriter.newLine()
, которые:
Записывает разделитель строк. Строка разделителя строк определяется системным свойством
blockquote>line.separator
и не обязательно является одним символом новой строки ('\n').
Ответ может можно отследить из предупреждения, которое я получал в XCode:
предупреждение: нет правила для обработки файла '$ (PROJECT_DIR) /html/orientation.js' типа sourcecode.javascript для архитектуры i386
Настройка XCode * .js javascript так как некоторый тип исходного кода необходимо было скомпилировать в приложении, когда я хотел включить его в качестве ресурса, поэтому я решил это, выполнив 2 действия.
На форумах разработчиков Apple опубликовано решение:
Похоже, вы начинаете "Xcode считает, что .js - это вещи быть скомпилированным ». В основном, Xcode считает, что сценарий должен как-то запускаться или компилироваться, поэтому отмечает это как часть исходного кода. Источник код, конечно, не копируется в ресурсы.
Итак, вам нужно сделать две вещи - выбрать файл .js в своем проекте и включите снимите флажок, который указывает, что он составлен ("яблочко" колонка). Если вы этого не сделаете, вы получить предупреждение в журнале сборки о невозможность скомпилировать файл (что должно быть вашим первым предупреждением - всегда пытаюсь понять и и исправьте любое предупреждение, что появятся в вашей сборке).
Затем перетащите его и поместите в target "Копировать ресурсы пакета".
Ответ на вашу вторую проблему с обработчиком onorientationchange, который не вызывается в UIWebView:
Я заметил, что свойство window.orientation не работает должным образом и обработчик window.onorientationchange не вызывается. Большинство приложений страдают этой проблемой. Это можно исправить, установив свойство window.orientation и вызвав window.onorientationchange в методе willRotateToInterfaceOrientation контроллера представления, который содержит ваш UIWebView:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
switch (toInterfaceOrientation)
{
case UIDeviceOrientationPortrait:
[webView stringByEvaluatingJavaScriptFromString:@"window.__defineGetter__('orientation',function(){return 0;});window.onorientationchange();"];
break;
case UIDeviceOrientationLandscapeLeft:
[webView stringByEvaluatingJavaScriptFromString:@"window.__defineGetter__('orientation',function(){return 90;});window.onorientationchange();"];
break;
case UIDeviceOrientationLandscapeRight:
[webView stringByEvaluatingJavaScriptFromString:@"window.__defineGetter__('orientation',function(){return -90;});window.onorientationchange();"];
break;
case UIDeviceOrientationPortraitUpsideDown:
[webView stringByEvaluatingJavaScriptFromString:@"window.__defineGetter__('orientation',function(){return 180;});window.onorientationchange();"];
break;
default:
break;
}
}
Я нашел дополнительную информацию по использованию UIWebView с локальными ресурсами.
Я собрал их вместе в коротком блоге. Если кому-то интересно, есть рабочий пример, который можно скачать.
http://mentormate.com/blog/iphone-uiwebview-class-local-css-javascript-resources/
Лучше использовать
, так как safari на самом деле вызывает directionChange ПОСЛЕ поворота представления.
Это было важно для меня, потому что мне нужно было изменить размер своих холстов HTML5 ПОСЛЕ поворота страницы, и я знал, насколько велик его контейнер.