0

我遇到了一个非常奇怪的问题。我有一个视图,上半部分是 UITableView,下半部分是启用分页的 UIScrollView(总共 2 页)所以基本上,如果您点击 TableView 中的一个单元格,数据将填充到下面的视图中。我正在从网络中提取填充 UITableView 的请求。

当我加载应用程序时,一切正常,刷新工作正常。出于某种原因,当我从表格视图中删除一个单元格并执行重新加载时,我的滚动视图分页停止响应......我不知道是什么原因造成的。数据仍将填充在视图中,但我无法分页到其他信息视图。

我不确定在执行刷新时要发布什么代码,它只是这样做:

[Request allOpenRequestsWithBlock:^(NSArray *requestsFromWeb, NSError *error) {
    if (error) {

        [[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error", nil) message:[error localizedDescription] delegate:nil cancelButtonTitle:nil otherButtonTitles:NSLocalizedString(@"OK", nil), nil] show];
         [self performSelector:@selector(stopLoading) withObject:nil afterDelay:1.0];
    } else {
        NSLog(@"Number of Open Requests: %d", [requestsFromWeb count]);
        [self.openRequestFromNet removeAllObjects];
        self.openRequestFromNet = [NSMutableArray arrayWithArray:requestsFromWeb];
        [self.tableView reloadData];
        //self.openRequestLoaded = true;


         [self performSelector:@selector(stopLoading) withObject:nil afterDelay:1.0];
    }

} forEID: idNumberFromLogin];

看起来如果 openRequests 的数量与我的 ScrollView 冻结的 openRequests 的初始数量不同,但滚动视图仍会更新数据,只是分页消失了。

我不知道为什么?!

UITableViewController 类甚至影响 UIScrollView 的唯一一次是它通过发送 NSNotification 在 ScrollView 中填充视图

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
 {
     MyOpenRequestCell *cell = [[MyOpenRequestCell alloc] init];
    cell = (MyOpenRequestCell *)[self.tableView cellForRowAtIndexPath:indexPath];
    [[NSNotificationCenter defaultCenter] postNotificationName:kMyDidSelectNotification object:[cell.requestID text]];
}

我感觉这可能是指针的问题?但我实际上只是向它发送一个不直接与内部 UIScrollView/Views 一起使用的 NSString。它用于进行另一个调用以获取该请求编号的数据。

谢谢!

4

0 回答 0