MUKit系列包含但不限于以下框架。
MUTableViewManager pod 'MUKit/TableViewManager'
MUNetworking pod 'MUKit/Networking'
MUNavigation pod 'MUKit/Navigation'
MUSignal pod 'MUKit/Signal'
MUEPaymentManager pod 'MUKit/EPaymentManager'
MUShared pod 'MUKit/Shared'
MUCarousel pod 'MUKit/Carousel'
MUEncryption pod 'MUKit/Encryption'
MUCollectionViewManager pod 'MUKit/CollectionViewManager'
MUPopupController pod 'MUKit/PopupController'
MUPaperView pod 'MUKit/PaperView'
详细注释和案例稍后逐步更新.......
效果如下所示
scrollView.gif
想要做到无侵入性首先需要解决UIScrollView的delegate问题。例如在UITableView嵌套UICollectionView的一般解决方案中,会在同一个文件中处理它们的delegate和dataSource问题,并且监听scrollViewDidScroll:方法。代码如下:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
if (scrollView == self.nestScrollViewMU) {
if (!self.arrivedTop) {//没有到达顶部
scrollView.contentOffset = CGPointZero;
}
if (scrollView.contentOffset.y < 0) {
scrollView.contentOffset = CGPointZero;
self.arrivedTop = NO;
}
}
if (scrollView == self.originalScrollView) {
if (scrollView.contentOffset.y >= self.offsetMU) {//到达顶部,可以滚动
scrollView.contentOffset = CGPointMake(0, self.offsetMU);
self.arrivedTop = YES;//到达顶部
}else{
if(self.arrivedTop&&self.nestScrollViewMU.contentSize.height>CGRectGetHeight(self.nestScrollViewMU.bounds)+self.marginHeight) {
scrollView.contentOffset = CGPointMake(0, self.offsetMU);
}
}
}
}
如果是使用MUScrollManager,那么你需要做的就两步,而且不会影响已经设置的delegate和dataSource
1.定义一个MUScrollManager属性,如下
@property (nonatomic,strong) MUScrollManager *manager;
2.初始化一个MUScrollManager实例,如下
self.manager = [[MUScrollManager alloc]initWithScrollView:tableView nestedScrollView:nestTableView offset:284.];//这个实例化说明的意思是nestTableView嵌套在tableView上,并且当tableView偏移了284的时候,nestTableView才会滚动
网友评论