This repository was archived by the owner on Jan 17, 2019. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +31
-11
lines changed
Expand file tree Collapse file tree 2 files changed +31
-11
lines changed Original file line number Diff line number Diff line change @@ -862,24 +862,28 @@ - (void)collectionViewCellWillAppear:(HUBComponentCollectionViewCell *)cell
862862 }
863863 }
864864
865- [wrapper viewWillAppear ];
865+ [self componentWrapperWillAppear: wrapper ];
866866 [self .delegate viewController: self componentWithModel: wrapper.model willAppearInView: cell];
867-
868- if (wrapper.isContentOffsetObserver ) {
869- [wrapper updateViewForChangedContentOffset: self .collectionView.contentOffset];
870- }
871867}
872868
873869- (void )headerAndOverlayComponentViewsWillAppear
874870{
875- [self .headerComponentWrapper viewWillAppear ];
871+ if (self.headerComponentWrapper != nil ) {
872+ HUBComponentWrapper * const headerComponentWrapper = self.headerComponentWrapper ;
873+ [self componentWrapperWillAppear: headerComponentWrapper];
874+ }
876875
877876 for (HUBComponentWrapper * const overlayComponentWrapper in self.overlayComponentWrappers ) {
878- [overlayComponentWrapper viewWillAppear ];
879-
880- if (overlayComponentWrapper.isContentOffsetObserver ) {
881- [overlayComponentWrapper updateViewForChangedContentOffset: self .collectionView.contentOffset];
882- }
877+ [self componentWrapperWillAppear: overlayComponentWrapper];
878+ }
879+ }
880+
881+ - (void )componentWrapperWillAppear : (HUBComponentWrapper *)componentWrapper
882+ {
883+ [componentWrapper viewWillAppear ];
884+
885+ if (componentWrapper.isContentOffsetObserver ) {
886+ [componentWrapper updateViewForChangedContentOffset: self .collectionView.contentOffset];
883887 }
884888}
885889
Original file line number Diff line number Diff line change @@ -1444,6 +1444,22 @@ - (void)testComponentNotifiedOfContentOffsetChange
14441444 XCTAssertEqual (self.component .numberOfContentOffsetChanges , (NSUInteger )3 );
14451445}
14461446
1447+ - (void )testHeaderComponentNotifiedOfContentOffsetChange
1448+ {
1449+ self.component .isContentOffsetObserver = YES ;
1450+
1451+ self.contentOperation .contentLoadingBlock = ^(id <HUBViewModelBuilder> viewModelBuilder) {
1452+ viewModelBuilder.headerComponentModelBuilder .title = @" Header" ;
1453+ return YES ;
1454+ };
1455+
1456+ [self simulateViewControllerLayoutCycle ];
1457+ XCTAssertEqual (self.component .numberOfContentOffsetChanges , (NSUInteger )1 );
1458+
1459+ [self .viewController scrollToContentOffset: CGPointMake (0 , 100 ) animated: NO ];
1460+ XCTAssertEqual (self.component .numberOfContentOffsetChanges , (NSUInteger )2 );
1461+ }
1462+
14471463- (void )testOverlayComponentNotifiedOfContentOffsetChange
14481464{
14491465 self.component .isContentOffsetObserver = YES ;
You can’t perform that action at this time.
0 commit comments