Ensure that ASRangeController immediately removes any deleted nodes from its range state.

This commit is contained in:
Scott Goodson
2015-12-30 22:42:11 -08:00
parent 9b9d8bc9b6
commit ffcddf36e2
12 changed files with 110 additions and 47 deletions

View File

@@ -19,4 +19,6 @@
- (instancetype)initWithElementSize:(CGSize)size;
@property (nonatomic) NSInteger pageNumber;
@end

View File

@@ -63,9 +63,16 @@
{
RandomCoreGraphicsNode *elementNode = [[RandomCoreGraphicsNode alloc] init];
elementNode.preferredFrameSize = _elementSize;
elementNode.indexPath = [NSIndexPath indexPathForRow:indexPath.row inSection:_pageNumber];
return elementNode;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:NO];
[_tableNode.view reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
}
- (void)layout
{
[super layout];

View File

@@ -10,4 +10,6 @@
@interface RandomCoreGraphicsNode : ASCellNode
@property (nonatomic) NSIndexPath *indexPath;
@end

View File

@@ -42,4 +42,24 @@
CGColorSpaceRelease(colorSpace);
}
#if 0
- (void)fetchData
{
NSLog(@"fetchData - %@, %@", self, self.indexPath);
[super fetchData];
}
- (void)clearFetchedData
{
NSLog(@"clearFetchedData - %@, %@", self, self.indexPath);
[super clearFetchedData];
}
- (void)visibilityDidChange:(BOOL)isVisible
{
NSLog(@"visibilityDidChange:%d - %@, %@", isVisible, self, self.indexPath);
[super visibilityDidChange:isVisible];
}
#endif
@end

View File

@@ -69,12 +69,13 @@
#pragma mark -
#pragma mark ASPagerNode.
- (ASCellNode *)pagerNode:(ASPagerNode *)pagerNode nodeAtIndex:(NSInteger)index;
- (ASCellNode *)pagerNode:(ASPagerNode *)pagerNode nodeAtIndex:(NSInteger)index
{
CGSize boundsSize = pagerNode.bounds.size;
CGSize gradientRowSize = CGSizeMake(boundsSize.width, 100);
GradientTableNode *node = [[GradientTableNode alloc] initWithElementSize:gradientRowSize];
node.preferredFrameSize = boundsSize;
node.pageNumber = index;
return node;
}