From 084e6f82c1d2af1ca80b23f40c60d80c1f52ee43 Mon Sep 17 00:00:00 2001 From: Michael Schneider Date: Mon, 29 Feb 2016 17:04:25 -0800 Subject: [PATCH] Trigger updating interfaceState for cells in case ASTableView or ASCollectionView becomes visible or invisible --- AsyncDisplayKit/ASCollectionView.mm | 5 ++++- AsyncDisplayKit/ASTableView.mm | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/AsyncDisplayKit/ASCollectionView.mm b/AsyncDisplayKit/ASCollectionView.mm index 2bdbb1d641..cc39783adb 100644 --- a/AsyncDisplayKit/ASCollectionView.mm +++ b/AsyncDisplayKit/ASCollectionView.mm @@ -532,7 +532,7 @@ static NSString * const kCellReuseIdentifier = @"_ASCollectionViewCell"; - (void)collectionView:(UICollectionView *)collectionView willDisplayCell:(_ASCollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath { - [_rangeController visibleNodeIndexPathsDidChangeWithScrollDirection:[self scrollDirection]]; + [_rangeController visibleNodeIndexPathsDidChangeWithScrollDirection:self.scrollDirection]; if ([_asyncDelegate respondsToSelector:@selector(collectionView:willDisplayNodeForItemAtIndexPath:)]) { [_asyncDelegate collectionView:self willDisplayNodeForItemAtIndexPath:indexPath]; @@ -1081,6 +1081,9 @@ static NSString * const kCellReuseIdentifier = @"_ASCollectionViewCell"; if (!visible && node.inHierarchy) { [node __exitHierarchy]; } + + // Trigger updating interfaceState for cells in case ASCollectionView becomes visible or invisible + [_rangeController visibleNodeIndexPathsDidChangeWithScrollDirection:self.scrollDirection]; } #pragma mark - UICollectionView dead-end intercepts diff --git a/AsyncDisplayKit/ASTableView.mm b/AsyncDisplayKit/ASTableView.mm index 6241f28a61..947b40774e 100644 --- a/AsyncDisplayKit/ASTableView.mm +++ b/AsyncDisplayKit/ASTableView.mm @@ -1056,6 +1056,9 @@ static NSString * const kCellReuseIdentifier = @"_ASTableViewCell"; if (!visible && node.inHierarchy) { [node __exitHierarchy]; } + + // Trigger updating interfaceState for cells in case ASTableView becomes visible or invisible + [_rangeController visibleNodeIndexPathsDidChangeWithScrollDirection:self.scrollDirection]; } @end