簡體   English   中英

ios7中UItableview中的UIwebview滾動問題

[英]UIwebview in UItableview scrolling issue in ios7

我正在應用拉動以刷新tableview中的代碼。 我有帶有UIwebview的自定義單元格。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"CustomCell";
CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

if(cell==nil){
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
    cell = [nib objectAtIndex:0];
    NSLog(@"%@",cell.subviews);
}
// Configure the cell...

NSURL *url = [NSURL URLWithString:@"http://www.google.com.au"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];

[cell.webView loadRequest:request];
return cell;

}

鑒於didLoad

- (void)viewDidLoad
{
[super viewDidLoad];
self.refreshControl = [[UIRefreshControl alloc] init];
[self.refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
[self.tableView addSubview:self.refreshControl];

}

- (void)refresh:(id)sender
{
// do somthing
NSLog (@"Refresh");
[self performSelector:@selector(stopRefresh) withObject:nil afterDelay:2.5];


}

- (void)stopRefresh {
    NSLog (@"Stop Refresh");

    [self.refreshControl endRefreshing];
}

它在iOS 6中表現正常,我可以刷新一下,但是在iOS 7中,只有Web視圖在滾動而不是TableView。

請幫幫我。

嘗試這個

   - (void)refresh:(id)sender
    {
    NSLog (@"Refresh");
    [self performSelectorInBackground:@selector(stopRefresh) withObject:Nil];

    }

希望這可以幫助

在iOS7及更高版本中,由於層次結構更改和框架更改,事件未從UIWebView滾動端傳遞到UITableView反彈。

以編程方式檢測滾動視圖是來自UITableView還是UIWebView(如果滾動視圖是appWebView)

if([[scrollView superview] isEqual:appWebView]){
    if (scrollView.contentOffset.y<0) {
        CGPoint currentContentOffset = CGPointMake(0, scrollView.contentOffset.y);
        [appTableView setContentOffset:currentContentOffset animated:NO];
    }

}

根據您對scrollView委托的要求,嘗試使用此部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM