[ASTableView/ASCollectionView] Flush pending updates before selecting/scrolling to item (#2034)

This commit is contained in:
Adlai Holler
2016-08-04 13:19:14 -07:00
committed by GitHub
parent f3c8fd8d62
commit 4725035f21
2 changed files with 40 additions and 0 deletions

View File

@@ -506,6 +506,22 @@ static NSString * const kCellReuseIdentifier = @"_ASCollectionViewCell";
return visibleNodes;
}
- (void)scrollToItemAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UICollectionViewScrollPosition)scrollPosition animated:(BOOL)animated
{
ASDisplayNodeAssertMainThread();
[self waitUntilAllUpdatesAreCommitted];
[super scrollToItemAtIndexPath:indexPath atScrollPosition:scrollPosition animated:animated];
}
- (void)selectItemAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated scrollPosition:(UICollectionViewScrollPosition)scrollPosition
{
ASDisplayNodeAssertMainThread();
[self waitUntilAllUpdatesAreCommitted];
[super selectItemAtIndexPath:indexPath animated:animated scrollPosition:scrollPosition];
}
#pragma mark Internal
/**

View File

@@ -452,6 +452,30 @@ static NSString * const kCellReuseIdentifier = @"_ASTableViewCell";
[_dataController waitUntilAllUpdatesAreCommitted];
}
- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated
{
ASDisplayNodeAssertMainThread();
[self waitUntilAllUpdatesAreCommitted];
[super scrollToRowAtIndexPath:indexPath atScrollPosition:scrollPosition animated:animated];
}
- (void)scrollToNearestSelectedRowAtScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated
{
ASDisplayNodeAssertMainThread();
[self waitUntilAllUpdatesAreCommitted];
[super scrollToNearestSelectedRowAtScrollPosition:scrollPosition animated:animated];
}
- (void)selectRowAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated scrollPosition:(UITableViewScrollPosition)scrollPosition
{
ASDisplayNodeAssertMainThread();
[self waitUntilAllUpdatesAreCommitted];
[super selectRowAtIndexPath:indexPath animated:animated scrollPosition:scrollPosition];
}
- (void)layoutSubviews
{
if (_nodesConstrainedWidth != self.bounds.size.width) {