คุณสามารถใช้tableView:willDisplayCell:forRowAtIndexPath:
เช่น:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"tableView willDisplay Cell");
cell.backgroundColor = [UIColor colorWithWhite:((indexPath.row % 2) ? 0.25 : 0) alpha:0.70];
}
แต่สิ่งนี้จะถูกเรียกเมื่อเซลล์ที่มีอยู่แล้วในตารางย้ายจากนอกหน้าจอไปยังบนหน้าจอดังนั้นอาจไม่ใช่สิ่งที่คุณกำลังมองหา ฉันเพิ่งดูวิธีการUITableView
และUIScrollView
มอบหมายทั้งหมดและดูเหมือนจะไม่มีอะไรให้จัดการหลังจากที่แทรกภาพเคลื่อนไหวในเซลล์แล้ว
ทำไมไม่เรียกเมธอดที่คุณต้องการให้เรียกเมื่อภาพเคลื่อนไหวจบลงหลังจากที่endUpdates
?
- (void)setDownloadedImage:(NSMutableDictionary *)d {
NSIndexPath *indexPath = (NSIndexPath *)[d objectForKey:@"IndexPath"];
[indexPathDelayed addObject:indexPath];
if (!([table isDragging] || [table isDecelerating])) {
[table beginUpdates];
[table insertRowsAtIndexPaths:indexPathDelayed withRowAnimation:UITableViewRowAnimationFade];
[table endUpdates];
// --> Call Method Here <--
loadingView.hidden = YES;
[indexPathDelayed removeAllObjects];
}
}
-scrollToRowAtIndexPath:atScrollPosition:animated:
เช่นกัน