Просмотр веб-страниц с анимацией скручивания страниц iOS

у меня есть html-файл, который содержит некоторые данные, так как я отображаю это в веб-просмотре, пользователь должен прокрутить вниз, чтобы просмотреть информацию, я хочу знать, могу ли я предоставить анимацию скручивания страницы для просмотра содержимого html, поэтому что пользователю становится легче читать информацию, прокручивая страницы,

я должен использовать pageviewcontroller? или есть ли какие-либо другие библиотеки, которые позволяют мне использовать эффект скручивания страницы для пользовательского (веб-просмотра)? как мне поступить? возможно ли показать некоторое количество html-информации на одной странице, а затем пользователь переходит на следующую страницу? как мне этого добиться, это один html файл


person BoredToDeath    schedule 01.02.2013    source источник


Ответы (1)


Если вам нужен такой пейджинг, то, возможно, вы могли бы попробовать библиотеку листьев https://github.com/brow/leaves Вы можете использовать его для просмотра различных UIWebView. Как вы можете видеть в примере с листьями, вам нужно отобразить страницу в renderPageAtIndex. Затем вы можете использовать что-то вроде:

- (void) renderPageAtIndex:(NSUInteger)index inContext:(CGContextRef)ctx {

Размер экрана CGSize = CGSizeMake(320 480);

UIGraphicsBeginImageContext (размер экрана); CGContextRef context = UIGraphicsGetCurrentContext(); CGFloat scalingFactor = screensize.width/webView.frame.size.width; CGContextScaleCTM(контекст, коэффициент масштабирования, коэффициент масштабирования);

[webView.layer renderInContext: ctx]; }

Вам нужно сначала загрузить веб-просмотр.

person Edwin Vermeer    schedule 01.02.2013
comment
Как вы можете видеть в примере с листьями, вы должны визуализировать страницу в методе renderPageAtIndex. Я включил образец в свой awnser выше - person Edwin Vermeer; 01.02.2013
comment
я попробовал то, что вы просили, немного больше рекомендаций, и я буду очень благодарен, это то, что я пробовал pastebin.com/ YDG0SFSM пожалуйста, дайте мне знать, правильно это или нет, спасибо - person BoredToDeath; 01.02.2013
comment
В чем проблема? Вы получаете пустые страницы? Вероятно, это связано с тем, что веб-страница не готова. Вы выполняете renderInContext сразу после loadRequest. Веб-страница не будет готова. Я думаю, вам нужно отобразить страницу перед renderPageAtIndex. Если это так, то вам, вероятно, нужно несколько веб-просмотров. - person Edwin Vermeer; 02.02.2013
comment
да, я получаю пустые страницы, я не уверен, что понимаю, что вы пытаетесь мне сказать, я понял, что веб-страница не будет готова, я не понимаю, о каких нескольких веб-просмотрах вы говорите, не могли бы вы просто помочь мне с этим Благодарность.. - person BoredToDeath; 02.02.2013
comment
я имею в виду, что вам нужно предварительно загрузить несколько веб-просмотров, чтобы на renderPageAtIndex веб-просмотр уже был загружен. Веб-просмотр также должен быть на экране (но может быть скрыт за другими элементами управления), иначе веб-просмотр не будет отображаться. Я думаю, что самый гибкий способ - предварительно загрузить предыдущую и следующую страницу (и при запуске текущую страницу) - person Edwin Vermeer; 02.02.2013
comment
так что, если я не ошибаюсь, вы говорите, что несколько веб-просмотров загружаются с запросом в viewDidLoad правильно? затем я добавляю веб-просмотры в NSArray, чтобы я мог их подсчитать, но как мне выполнить итерацию между этими несколькими веб-просмотрами, я действительно так близок к этому, пожалуйста, помогите мне с этим, спасибо - person BoredToDeath; 02.02.2013
comment
Я думаю, 2 веб-просмотра будет достаточно. В viewdidload загрузите webView1 с первой страницей и webView2 со второй страницей. Также отслеживайте 2 индикатора страницы. что-то вроде: view1page = 1, view2page = 2; в renderPageAtIndex сделайте что-то вроде: if(index==view1page)... код для использования webview1, сделайте то же самое для view2page. В конце therenderPageAtindex загрузите страницу с index-1 в webview1 и загрузите страницу с index+1 в webview2. Это обеспечит отображение предыдущей и следующей страниц. - person Edwin Vermeer; 02.02.2013