我的UIWebView
在我的UITableView
單元格中。但是當我滾動UIWebView
,UITableView
也滾動。當用戶嘗試滾動時,如何確保只滾動一個UIWebView
?UIWebView和UITableView同時滾動
回答
當調用webView滾動委託時,可以使用禁用並啓用tableView的滾動。 UIWebView裏面有一個scrollView,你可以成爲我的代表。
- (void)setupSwip
{
UISwipeGestureRecognizer* swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwip:)];
swipeGesture.delegate = self;
[self.view addGestureRecognizer:swipeGesture];
self.tableView.scrollEnabled = YES
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
self.tableView.scrollEnabled = NO;
return YES;
}
- (void)didSwip:(UIGestureRecognizer*)gestureRecognizer
{
}
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
self.tableView.scrollEnabled = NO;
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
if (!decelerate)
{
self.tableView.scrollEnabled = YES;
}
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
self.tableView.scrollEnabled = YES;
}
有了這個我不能在一開始就滾動主要的tableview。 –
@TheCook現在嘗試 – MCMatan
這個問題沒有得到回答卻又如此我張貼我的答案這麼晚 。
我有同樣的問題,我解決了創建自定義委託。請按照以下步驟操作。
在UITableViewCell
@protocol MyTableCellDelegate <NSObject>
-(void)webViewDidStartedScrolling;
-(void)webViewDidStoppedScrolling;
@end
2.創建自定義的委託在TableCell.m
文件添加UIScrollViewDelegate
在TableCell.h
文件
@interface TableCell : UITableViewCell<UIWebViewDelegate,UIScrollViewDelegate>
property(weak,nonatomic) id<MyTableCellDelegate> delegateWebView;
- (void)awakeFromNib {
[super awakeFromNib];
self.myWebView.scrollView.delegate=self;
}
//ScrollView delegate method
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
if(self.delegateWebView && [self.delegateWebView respondsToSelector:@selector(webViewDidStoppedScrolling)]){
[self.delegateWebView webViewDidStoppedScrolling];
}
}
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
if(self.delegateWebView && [self.delegateWebView respondsToSelector:@selector(webViewDidStartedScrolling)]){
[self.delegateWebView webViewDidStartedScrolling];
}
}
4.在您的UIViewController.h
中添加MyTableCellDelegate
您正在使用您的餐桌視圖。
@interface UIViewController()<UITableViewDelegate,UITableViewDataSource,MyTableCellDelegate>
5.實現您的自定義委託方法的方法,您UIViewController.m
文件,使或禁用tableView
滾動,當你webviewDidEndScrolling
和webviewDidStartedScrolling
#pragma mark UItableView Delegate
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
YourTableCell *cell=[tableView dequeueReusableCellWithIdentifier:@"YourTableCell" forIndexPath:indexPath];
cell.delegateDealDetails=self;
}
// Custom Delegate Callback method
-(void)webViewDidStartedScrolling
{
tblDealDetails.scrollEnabled=NO;
}
-(void)webViewDidStoppedScrolling
{
tblDealDetails.scrollEnabled=YES;
}
這工作正常對我而言,我希望這能夠幫助那些面臨同樣問題的人。
- 1. UIWebView裏面的UITableView滾動?
- 2. iPhone UITableView同時滾動
- 3. 重複單元格,同時滾動uitableview
- 4. 問題,同時禁用滾動的UITableview
- 5. UITableView的自動滾動同時根據其他的UITableView
- 6. 滾動條在UIScrollView和UIWebview
- 7. UIWebView滾動和縮放
- 8. 在swift中 - UITableview滾動時滾動
- 9. ios8 UITableView滾動時滾動跳回
- 10. 滾動時在UITableView崩潰
- 11. 滾動時UITableView損壞
- 12. UITableView scrollToRowAtIndexPath有時只滾動
- 13. UITableView在滾動時崩潰
- 14. UITableView在滾動時切斷?
- 15. 滾動時UITableView是laggy
- 16. UIProgressView滾動uitableview時隱藏
- 17. UITableView在滾動時崩潰
- 18. 當UITableView變大時,滾動滯後和滾動條跳躍
- 19. UIWebView快速滾動
- 20. UIWebView向下滾動
- 21. 在UIWebView中滾動
- 22. 禁用滾動UIWebView
- 23. UIWebView滾動問題
- 24. Slow UITableView滾動
- 25. 自動滾動UITableView
- 26. UIWebView和UIScrollView的滾動行爲
- 27. 使用UIWebView和標籤滾動視圖
- 28. UIWebView和滾動條指示器
- 29. UIWebView啓用縮放和禁用滾動
- 30. UIWebView滾動時需要事件,取消滾動的選項
沒什麼特別的,我只是在cell的主視圖上做了webview.loadHTMLString(htmlString,baseURL:nil) parent.addSubview(webview)。 –
看到這一次,它可以幫助你http://stackoverflow.com/questions/6440448/ios-uiwebview-inside-a-uiscrollview –