HTML ファイルを UIWebView にロードし、webViewDidFinishLoad で JavaScript を使用して「-webkit-column-width」および「-webkit-column-gap」スタイル プロパティを設定していますが、テキストが列にリフローしません。
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL *urlForView = [self.book.chapterURLs objectAtIndex:0];
self.webView.delegate = self;
self.webView.scrollView.bounces = NO;
self.webView.scrollView.pagingEnabled = YES;
[self.webView loadRequest:[NSURLRequest requestWithURL:urlForView]];
}
- (void) webViewDidFinishLoad:(UIWebView *)webView
{
NSString *jsString = @"document.getElementsByTagName('body')[0]. setAttribute('style','-webkit-column-width: 733px; -webkit-column-gap: 20px;');)";
[self.webView stringByEvaluatingJavaScriptFromString:jsString];
}
スタイル属性が正しく設定されていることをアラートで確認したので、効果がない理由がわかりません。Safari のコンソールから同じ JavaScript 文字列を実行すると、望ましい効果が得られます。これがUIWebViewで機能しない理由は何ですか?