是否有任何事件可以通知晚餐視圖?iOS如何檢查是否去webView的底部
我試着scrollViewDidScroll。但它不被稱爲。
-(void)scrollViewDidScroll: (UIScrollView*)scrollView
{
NSLog(@"At the bottom...");
}
是否有任何事件可以通知晚餐視圖?iOS如何檢查是否去webView的底部
我試着scrollViewDidScroll。但它不被稱爲。
-(void)scrollViewDidScroll: (UIScrollView*)scrollView
{
NSLog(@"At the bottom...");
}
您必須首先在webview中將scrollview的代理設置爲self
。因此,當您滾動webview時,可能會調用scrollViewDidScroll:
。所以,試試這個:
- (void)viewDidLoad
{
[super viewDidLoad];
self.webview.scrollview.delegate = self;
}
- (void)scrollViewDidScroll:(UIScrollView*)scrollview
{
CGPoint offset = scrollView.contentOffset;
CGRect bounds = scrollView.bounds;
UIEdgeInsets inset = scrollView.contentInset;
CGFloat currentOffset = offset.y + bounds.size.height - inset.bottom;
if (currentOffset - scrollView.contentSize.height <= 0)
{
NSLog(@"At the bottom...");
}
}
謝謝。添加scrollView.delegate的作品。 – 2014-08-28 08:52:24
另一個問題:這個事件如何通知超級視圖? – 2014-08-28 08:53:07
@JasonWu您可以調用superview的某種預定義方法來通知它。你可以使用NSNotification通知超級視圖。或者使用委託像UITableView的委託來通知超級視圖。 – SFeng 2014-08-28 15:57:10
如果你有web視圖的一個實例,你可以通過做, webView.scrollView
得到它的滾動型的參考。其委託設置爲self
像這樣:
webView.scrollView.delegate = self;
現在,確保你已經在你的類中實現UIScrollViewDelegate
,你有webView
的一個實例。實現下面的代碼,告訴你是否到達底部。
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
float bottomEdge = scrollView.contentOffset.y + scrollView.frame.size.height;
if (bottomEdge >= scrollView.contentSize.height) {
//This means that you have reached the end.
}
}
要獲得滾動視圖中的委託方法調用需要分配委託像這樣的WebView滾動視圖:
webview.scrollView.delegate = self;
也順應了UIScrollViewDelegate在.h文件中是這樣的:
@interface MyController : UIViewController <UIScrollViewDelegate>
@end
謝謝。添加scrollView.delegate的作品。 – 2014-08-28 08:51:10
是webview委託集? – Rajesh 2014-08-27 07:51:10