使用https://github.com/coolbeet/CBStoreHouseRefreshControl中的CBStoreHouseRefreshControl做了一个组件,
死活执行不了,后来发现,修改导航图片了
if ([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) { [self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault]; }
结果,发现下面这两个函数不在回调
#pragma mark - Notifying refresh control of scrolling - (void)scrollViewDidScroll:(UIScrollView *)scrollView { [self.storeHouseRefreshControl scrollViewDidScroll]; } - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate { [self.storeHouseRefreshControl scrollViewDidEndDragging]; }
正常情况下,页面加载时,会回调这两个方法,重新计算里面相关位置。
只有设置导航图片后,如果不设置
self.navigationController.navigationBar setTranslucent:YES
或者设置
self.navigationController.navigationBar setTranslucent:NO
都不能触发这个消息,真吭爹啊
时间: 2024-11-17 09:26:41