2013-05-17 3 views
1

Итак, я пытаюсь поместить две кнопки в UIWebView, прокрутку вверх и прокрутку вниз. В идеале у пользователя будет возможность прокручивать его пальцем или нажатием кнопки. Например, когда они нажимают кнопку, она прокручивается примерно на дюйм или около того. Я понятия не имею, с чего начать с этого. Я знаю, что мне нужно создать две кнопки, подключить розетки, а затем я потеряюсь оттуда. Я понятия не имею, как выглядит функция, вызывающая свиток.Кнопки прокрутки на UIWebView

Обновление: Я не уверен, что положить в область THE_DISTANCE_TO_SCROLL из нижеприведенного ответа. Я чувствую, что это должен быть CGPoint, потому что, когда я печатаю целое число, например 10, я получаю ошибку: Sending 'double' to parameter of incompatible type 'CGPoint' (aka 'struct CGPoint')

ответ

2

Итак, UIWebView имеет свойство scrollView, вы можете получить доступ к этому свойству в методах, которые обрабатывают кнопки он водопроводное и сделать что-то вроде:

//for scroll up 
-(IBAction)scrollContentUp:(id)sender { 
    [yourWebView.scrollView setContentOffset:CGPointMake(yourWebView.scrollView.contentOffset.x,  
          yourWebView.scrollView.contentOffset.y 
          -THE_DISTANCE_TO_SCROLL animated:YES)]; 
} 

//for scroll down 
-(IBAction)scrollContentDown:(id)sender { 
    [yourWebView.scrollView setContentOffset:CGPointMake(yourWebView.scrollView.contentOffset.x,  
         yourWebView.scrollView.contentOffset.y 
         +THE_DISTANCE_TO_SCROLL animated:YES)]; 
} 

вы должны также отключить кнопки, пока UIWebView не полностью загружен (вы можете проверить это с помощью методов делегата UIWebView)

+0

Удивительного спасибо так много! и для 'THE_DISTANCE_TO_SCROLL' следует просто ввести целое число, равное 100, и поиграть с ним, пока я не получу его правильно? Ответьте на вопросы начинающих! – John

+0

Да, вы можете ввести целое число (оно должно быть CGFloat, но преобразовано), или вы можете рассчитать его в зависимости от размера содержимого UIWebView. Что-то вроде CGFloat distance = webView.scrollView.contentSize/webView.frame.size.height; таким образом, он должен прокручиваться с расстоянием на экране, что-то вроде разбиения на страницы (но для многих, у пользователя будет трудное время, чтобы следить за прокруткой, это простой пример) – danypata

+1

Если это правильный ответ для вас, пожалуйста, отметьте это как принято. :) – danypata

Смежные вопросы