123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814 |
- //
- // NewPagedFlowView.m
- // dianshang
- //
- // Created by sskh on 16/7/13.
- // Copyright © 2016年 Mars. All rights reserved.
- // Designed By PageGuo,
- // QQ:799573715
- // github:https://github.com/PageGuo/NewPagedFlowView
- #import "NewPagedFlowView.h"
- @interface NewPagedFlowView ()
- @property (nonatomic, assign, readwrite) NSInteger currentPageIndex;
- /**
- * 计时器用到的页数
- */
- @property (nonatomic, assign) NSInteger page;
- /**
- * 一页的尺寸
- */
- @property (nonatomic,assign) CGSize pageSize;
- @end
- //子控制器的类名
- static NSString *subviewClassName;
- @implementation NewPagedFlowView
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- #pragma mark -
- #pragma mark Private Methods
- - (void)initialize{
- self.clipsToBounds = YES;
-
- self.needsReload = YES;
- self.pageCount = 0;
- self.isOpenAutoScroll = YES;
- self.isCarousel = YES;
- self.leftRightMargin = 20;
- self.topBottomMargin = 30;
- _currentPageIndex = 0;
-
- _minimumPageAlpha = 1.0;
- _autoTime = 5.0;
-
- self.visibleRange = NSMakeRange(0, 0);
-
- self.reusableCells = [[NSMutableArray alloc] initWithCapacity:0];
- self.cells = [[NSMutableArray alloc] initWithCapacity:0];
-
- self.scrollView = [[UIScrollView alloc] initWithFrame:self.bounds];
- self.scrollView.scrollsToTop = NO;
- self.scrollView.delegate = self;
- self.scrollView.pagingEnabled = YES;
- self.scrollView.clipsToBounds = NO;
- self.scrollView.showsHorizontalScrollIndicator = NO;
- self.scrollView.showsVerticalScrollIndicator = NO;
-
- subviewClassName = @"PGIndexBannerSubiew";
-
- [self addSubview:self.scrollView];
-
- }
- - (void)setLeftRightMargin:(CGFloat)leftRightMargin {
- _leftRightMargin = leftRightMargin * 0.5;
-
- }
- - (void)setTopBottomMargin:(CGFloat)topBottomMargin {
- _topBottomMargin = topBottomMargin * 0.5;
- }
- - (void)startTimer {
-
- if (self.orginPageCount > 1 && self.isOpenAutoScroll && self.isCarousel) {
- NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:self.autoTime target:self selector:@selector(autoNextPage) userInfo:nil repeats:YES];
- self.timer = timer;
- [[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
- }
-
- }
- - (void)stopTimer {
-
- if (self.timer) {
- [self.timer invalidate];
- self.timer = nil;
- }
- }
- - (void)adjustCenterSubview {
- if (self.isOpenAutoScroll && self.orginPageCount > 0) {
- [_scrollView setContentOffset:CGPointMake(_pageSize.width * self.page, 0) animated:NO];
- }
- }
- #pragma mark --自动轮播
- - (void)autoNextPage {
-
- self.page ++;
-
-
-
- switch (self.orientation) {
- case NewPagedFlowViewOrientationHorizontal:{
-
- [_scrollView setContentOffset:CGPointMake(self.page * _pageSize.width, 0) animated:YES];
- break;
- }
- case NewPagedFlowViewOrientationVertical:{
-
- [_scrollView setContentOffset:CGPointMake(0, self.page * _pageSize.height) animated:YES];
-
- break;
- }
- default:
- break;
- }
- }
- - (void)queueReusableCell:(PGIndexBannerSubiew *)cell{
- [_reusableCells addObject:cell];
- }
- - (void)removeCellAtIndex:(NSInteger)index{
- PGIndexBannerSubiew *cell = [_cells objectAtIndex:index];
- if ((NSObject *)cell == [NSNull null]) {
- return;
- }
-
- [self queueReusableCell:cell];
-
- if (cell.superview) {
- [cell removeFromSuperview];
- }
-
- [_cells replaceObjectAtIndex:index withObject:[NSNull null]];
- }
- - (void)refreshVisibleCellAppearance{
-
- if (_minimumPageAlpha == 1.0 && self.leftRightMargin == 0 && self.topBottomMargin == 0) {
- return;//无需更新
- }
- switch (self.orientation) {
- case NewPagedFlowViewOrientationHorizontal:{
- CGFloat offset = _scrollView.contentOffset.x;
-
- for (NSInteger i = self.visibleRange.location; i < self.visibleRange.location + _visibleRange.length; i++) {
- PGIndexBannerSubiew *cell = [_cells objectAtIndex:i];
- subviewClassName = NSStringFromClass([cell class]);
- CGFloat origin = cell.frame.origin.x;
- CGFloat delta = fabs(origin - offset);
-
- CGRect originCellFrame = CGRectMake(_pageSize.width * i, 0, _pageSize.width, _pageSize.height);//如果没有缩小效果的情况下的本该的Frame
-
- if (delta < _pageSize.width) {
-
- cell.coverView.alpha = (delta / _pageSize.width) * _minimumPageAlpha;
-
- CGFloat leftRightInset = self.leftRightMargin * delta / _pageSize.width;
- CGFloat topBottomInset = self.topBottomMargin * delta / _pageSize.width;
-
- cell.layer.transform = CATransform3DMakeScale((_pageSize.width-leftRightInset*2)/_pageSize.width,(_pageSize.height-topBottomInset*2)/_pageSize.height, 1.0);
- cell.frame = UIEdgeInsetsInsetRect(originCellFrame, UIEdgeInsetsMake(topBottomInset, leftRightInset, topBottomInset, leftRightInset));
-
- } else {
- cell.coverView.alpha = _minimumPageAlpha;
- cell.layer.transform = CATransform3DMakeScale((_pageSize.width-self.leftRightMargin*2)/_pageSize.width,(_pageSize.height-self.topBottomMargin*2)/_pageSize.height, 1.0);
- cell.frame = UIEdgeInsetsInsetRect(originCellFrame, UIEdgeInsetsMake(self.topBottomMargin, self.leftRightMargin, self.topBottomMargin, self.leftRightMargin));
-
- }
- }
- break;
- }
- case NewPagedFlowViewOrientationVertical:{
- CGFloat offset = _scrollView.contentOffset.y;
-
- for (NSInteger i = self.visibleRange.location; i < self.visibleRange.location + _visibleRange.length; i++) {
- PGIndexBannerSubiew *cell = [_cells objectAtIndex:i];
- subviewClassName = NSStringFromClass([cell class]);
- CGFloat origin = cell.frame.origin.y;
- CGFloat delta = fabs(origin - offset);
-
- CGRect originCellFrame = CGRectMake(0, _pageSize.height * i, _pageSize.width, _pageSize.height);//如果没有缩小效果的情况下的本该的Frame
-
- if (delta < _pageSize.height) {
- cell.coverView.alpha = (delta / _pageSize.height) * _minimumPageAlpha;
-
- CGFloat leftRightInset = self.leftRightMargin * delta / _pageSize.height;
- CGFloat topBottomInset = self.topBottomMargin * delta / _pageSize.height;
-
- cell.layer.transform = CATransform3DMakeScale((_pageSize.width-leftRightInset*2)/_pageSize.width,(_pageSize.height-topBottomInset*2) / _pageSize.height, 1.0);
- cell.frame = UIEdgeInsetsInsetRect(originCellFrame, UIEdgeInsetsMake(topBottomInset, leftRightInset, topBottomInset, leftRightInset));
- cell.mainImageView.frame = cell.bounds;
- } else {
- cell.coverView.alpha = _minimumPageAlpha;
- cell.frame = UIEdgeInsetsInsetRect(originCellFrame, UIEdgeInsetsMake(self.topBottomMargin, self.leftRightMargin, self.topBottomMargin, self.leftRightMargin));
- cell.mainImageView.frame = cell.bounds;
- }
-
- }
- }
- default:
- break;
- }
-
- }
- - (void)setPageAtIndex:(NSInteger)pageIndex{
- NSParameterAssert(pageIndex >= 0 && pageIndex < [_cells count]);
-
- PGIndexBannerSubiew *cell = [_cells objectAtIndex:pageIndex];
-
- if ((NSObject *)cell == [NSNull null]) {
- cell = [_dataSource flowView:self cellForPageAtIndex:pageIndex % self.orginPageCount];
- NSAssert(cell!=nil, @"datasource must not return nil");
- [_cells replaceObjectAtIndex:pageIndex withObject:cell];
-
- cell.tag = pageIndex % self.orginPageCount;
- [cell setSubviewsWithSuperViewBounds:CGRectMake(0, 0, _pageSize.width, _pageSize.height)];
-
- __weak __typeof(self) weakSelf = self;
- cell.didSelectCellBlock = ^(NSInteger tag, PGIndexBannerSubiew *cell) {
- [weakSelf singleCellTapAction:tag withCell:cell];
- };
-
- switch (self.orientation) {
- case NewPagedFlowViewOrientationHorizontal:
- cell.frame = CGRectMake(_pageSize.width * pageIndex, 0, _pageSize.width, _pageSize.height);
- break;
- case NewPagedFlowViewOrientationVertical:
- cell.frame = CGRectMake(0, _pageSize.height * pageIndex, _pageSize.width, _pageSize.height);
- break;
- default:
- break;
- }
-
- if (!cell.superview) {
- [_scrollView addSubview:cell];
- }
- }
- }
- - (void)setPagesAtContentOffset:(CGPoint)offset{
- //计算_visibleRange
- CGPoint startPoint = CGPointMake(offset.x - _scrollView.frame.origin.x, offset.y - _scrollView.frame.origin.y);
- CGPoint endPoint = CGPointMake(startPoint.x + self.bounds.size.width, startPoint.y + self.bounds.size.height);
-
-
- switch (self.orientation) {
- case NewPagedFlowViewOrientationHorizontal:{
- NSInteger startIndex = 0;
- for (int i =0; i < [_cells count]; i++) {
- if (_pageSize.width * (i +1) > startPoint.x) {
- startIndex = i;
- break;
- }
- }
-
- NSInteger endIndex = startIndex;
- for (NSInteger i = startIndex; i < [_cells count]; i++) {
- //如果都不超过则取最后一个
- if ((_pageSize.width * (i + 1) < endPoint.x && _pageSize.width * (i + 2) >= endPoint.x) || i+ 2 == [_cells count]) {
- endIndex = i + 1;//i+2 是以个数,所以其index需要减去1
- break;
- }
- }
-
- //可见页分别向前向后扩展一个,提高效率
- startIndex = MAX(startIndex - 1, 0);
- endIndex = MIN(endIndex + 1, [_cells count] - 1);
-
- // self.visibleRange.location = startIndex;
- // self.visibleRange.length = endIndex - startIndex + 1;
- self.visibleRange = NSMakeRange(startIndex, endIndex - startIndex + 1);
- for (NSInteger i = startIndex; i <= endIndex; i++) {
- [self setPageAtIndex:i];
- }
-
- for (int i = 0; i < startIndex; i ++) {
- [self removeCellAtIndex:i];
- }
-
- for (NSInteger i = endIndex + 1; i < [_cells count]; i ++) {
- [self removeCellAtIndex:i];
- }
- break;
- }
- case NewPagedFlowViewOrientationVertical:{
- NSInteger startIndex = 0;
- for (int i =0; i < [_cells count]; i++) {
- if (_pageSize.height * (i +1) > startPoint.y) {
- startIndex = i;
- break;
- }
- }
-
- NSInteger endIndex = startIndex;
- for (NSInteger i = startIndex; i < [_cells count]; i++) {
- //如果都不超过则取最后一个
- if ((_pageSize.height * (i + 1) < endPoint.y && _pageSize.height * (i + 2) >= endPoint.y) || i+ 2 == [_cells count]) {
- endIndex = i + 1;//i+2 是以个数,所以其index需要减去1
- break;
- }
- }
-
- //可见页分别向前向后扩展一个,提高效率
- startIndex = MAX(startIndex - 1, 0);
- endIndex = MIN(endIndex + 1, [_cells count] - 1);
-
- _visibleRange.location = startIndex;
- _visibleRange.length = endIndex - startIndex + 1;
-
- for (NSInteger i = startIndex; i <= endIndex; i++) {
- [self setPageAtIndex:i];
- }
-
- for (NSInteger i = 0; i < startIndex; i ++) {
- [self removeCellAtIndex:i];
- }
-
- for (NSInteger i = endIndex + 1; i < [_cells count]; i ++) {
- [self removeCellAtIndex:i];
- }
- break;
- }
- default:
- break;
- }
-
-
-
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- #pragma mark -
- #pragma mark Override Methods
- - (id)initWithFrame:(CGRect)frame
- {
- self = [super initWithFrame:frame];
- if (self)
- {
- [self initialize];
- }
- return self;
- }
- - (id)initWithCoder:(NSCoder *)aDecoder
- {
- self = [super initWithCoder:aDecoder];
- if (self)
- {
- [self initialize];
- }
- return self;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- #pragma mark -
- #pragma mark NewPagedFlowView API
- - (void)reloadData {
- _needsReload = YES;
-
- //移除所有self.scrollView的子控件
- for (UIView *view in self.scrollView.subviews) {
- if ([NSStringFromClass(view.class) isEqualToString:subviewClassName] || [view isKindOfClass:[PGIndexBannerSubiew class]]) {
- [view removeFromSuperview];
- }
- }
-
- [self stopTimer];
- if (_needsReload) {
- //如果需要重新加载数据,则需要清空相关数据全部重新加载
-
-
- //重置pageCount
- if (_dataSource && [_dataSource respondsToSelector:@selector(numberOfPagesInFlowView:)]) {
-
- //原始页数
- self.orginPageCount = [_dataSource numberOfPagesInFlowView:self];
-
- //总页数
- if (self.isCarousel) {
- _pageCount = self.orginPageCount == 1 ? 1: [_dataSource numberOfPagesInFlowView:self] * 3;
- }else {
- _pageCount = self.orginPageCount == 1 ? 1: [_dataSource numberOfPagesInFlowView:self];
- }
-
- //如果总页数为0,return
- if (_pageCount == 0) {
-
- return;
- }
-
- if (self.pageControl && [self.pageControl respondsToSelector:@selector(setNumberOfPages:)]) {
- [self.pageControl setNumberOfPages:self.orginPageCount];
- }
- }
-
- //重置pageWidth
- _pageSize = CGSizeMake(self.bounds.size.width - 4 * self.leftRightMargin,(self.bounds.size.width - 4 * self.leftRightMargin) * 9 /16);
- if (self.delegate && self.delegate && [self.delegate respondsToSelector:@selector(sizeForPageInFlowView:)]) {
- _pageSize = [self.delegate sizeForPageInFlowView:self];
- }
-
- [_reusableCells removeAllObjects];
- _visibleRange = NSMakeRange(0, 0);
-
- //填充cells数组
- [_cells removeAllObjects];
- for (NSInteger index=0; index<_pageCount; index++)
- {
- [_cells addObject:[NSNull null]];
- }
-
- // 重置_scrollView的contentSize
- switch (self.orientation) {
- case NewPagedFlowViewOrientationHorizontal://横向
- _scrollView.frame = CGRectMake(0, 0, _pageSize.width, _pageSize.height);
- _scrollView.contentSize = CGSizeMake(_pageSize.width * _pageCount,0);
- CGPoint theCenter = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds));
- _scrollView.center = theCenter;
-
- if (self.orginPageCount > 1) {
-
- if (self.isCarousel) {
-
- //滚到第二组
- [_scrollView setContentOffset:CGPointMake(_pageSize.width * self.orginPageCount, 0) animated:NO];
-
- self.page = self.orginPageCount;
-
- //启动自动轮播
- [self startTimer];
-
- }else {
- //滚到开始
- [_scrollView setContentOffset:CGPointMake(0, 0) animated:NO];
-
- self.page = self.orginPageCount;
-
- }
-
- }
-
- break;
- case NewPagedFlowViewOrientationVertical:{
- _scrollView.frame = CGRectMake(0, 0, _pageSize.width, _pageSize.height);
- _scrollView.contentSize = CGSizeMake(0 ,_pageSize.height * _pageCount);
- CGPoint theCenter = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds));
- _scrollView.center = theCenter;
-
- if (self.orginPageCount > 1) {
-
- if (self.isCarousel) {
- //滚到第二组
- [_scrollView setContentOffset:CGPointMake(0, _pageSize.height * self.orginPageCount) animated:NO];
-
- self.page = self.orginPageCount;
-
- //启动自动轮播
- [self startTimer];
- }else {
- //滚到第二组
- [_scrollView setContentOffset:CGPointMake(0, 0) animated:NO];
-
- self.page = self.orginPageCount;
-
- }
-
- }
-
- break;
- }
- default:
- break;
- }
-
- _needsReload = NO;
- }
-
-
- [self setPagesAtContentOffset:_scrollView.contentOffset];//根据当前scrollView的offset设置cell
-
- [self refreshVisibleCellAppearance];//更新各个可见Cell的显示外貌
- }
- - (PGIndexBannerSubiew *)dequeueReusableCell{
- PGIndexBannerSubiew *cell = [_reusableCells lastObject];
- if (cell)
- {
- [_reusableCells removeLastObject];
- }
-
- return cell;
- }
- - (void)scrollToPage:(NSUInteger)pageNumber {
- if (pageNumber < _pageCount) {
-
- //首先停止定时器
- [self stopTimer];
-
- if (self.isCarousel) {
-
- self.page = pageNumber + self.orginPageCount;
- [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(startTimer) object:nil];
- [self performSelector:@selector(startTimer) withObject:nil afterDelay:0.5];
-
- }else {
- self.page = pageNumber;
- }
-
- switch (self.orientation) {
- case NewPagedFlowViewOrientationHorizontal:
- [_scrollView setContentOffset:CGPointMake(_pageSize.width * self.page, 0) animated:YES];
- break;
- case NewPagedFlowViewOrientationVertical:
- [_scrollView setContentOffset:CGPointMake(0, _pageSize.height * self.page) animated:YES];
- break;
- }
- [self setPagesAtContentOffset:_scrollView.contentOffset];
- [self refreshVisibleCellAppearance];
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- #pragma mark -
- #pragma mark hitTest
- - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
- if ([self pointInside:point withEvent:event]) {
- CGPoint newPoint = CGPointZero;
- newPoint.x = point.x - _scrollView.frame.origin.x + _scrollView.contentOffset.x;
- newPoint.y = point.y - _scrollView.frame.origin.y + _scrollView.contentOffset.y;
- if ([_scrollView pointInside:newPoint withEvent:event]) {
- return [_scrollView hitTest:newPoint withEvent:event];
- }
-
- return _scrollView;
- }
-
- return nil;
- }
- #pragma mark -
- #pragma mark UIScrollView Delegate
- - (void)scrollViewDidScroll:(UIScrollView *)scrollView{
-
- if (self.orginPageCount == 0) {
- return;
- }
-
- NSInteger pageIndex;
-
- switch (self.orientation) {
- case NewPagedFlowViewOrientationHorizontal:
- pageIndex = (int)round(_scrollView.contentOffset.x / _pageSize.width) % self.orginPageCount;
- break;
- case NewPagedFlowViewOrientationVertical:
- pageIndex = (int)round(_scrollView.contentOffset.y / _pageSize.height) % self.orginPageCount;
- break;
- default:
- break;
- }
-
- if (self.isCarousel) {
-
- if (self.orginPageCount > 1) {
- switch (self.orientation) {
- case NewPagedFlowViewOrientationHorizontal:
- {
- if (scrollView.contentOffset.x / _pageSize.width >= 2 * self.orginPageCount) {
-
- [scrollView setContentOffset:CGPointMake(_pageSize.width * self.orginPageCount, 0) animated:NO];
-
- self.page = self.orginPageCount;
-
- }
-
- if (scrollView.contentOffset.x / _pageSize.width <= self.orginPageCount - 1) {
- [scrollView setContentOffset:CGPointMake((2 * self.orginPageCount - 1) * _pageSize.width, 0) animated:NO];
-
- self.page = 2 * self.orginPageCount;
- }
-
- }
- break;
- case NewPagedFlowViewOrientationVertical:
- {
- if (scrollView.contentOffset.y / _pageSize.height >= 2 * self.orginPageCount) {
-
- [scrollView setContentOffset:CGPointMake(0, _pageSize.height * self.orginPageCount) animated:NO];
-
- self.page = self.orginPageCount;
-
- }
-
- if (scrollView.contentOffset.y / _pageSize.height <= self.orginPageCount - 1) {
- [scrollView setContentOffset:CGPointMake(0, (2 * self.orginPageCount - 1) * _pageSize.height) animated:NO];
- self.page = 2 * self.orginPageCount;
- }
-
- }
- break;
- default:
- break;
- }
-
-
- }else {
-
- pageIndex = 0;
-
-
- }
- }
-
-
- [self setPagesAtContentOffset:scrollView.contentOffset];
- [self refreshVisibleCellAppearance];
-
- if (self.pageControl && [self.pageControl respondsToSelector:@selector(setCurrentPage:)]) {
-
- [self.pageControl setCurrentPage:pageIndex];
- }
-
- if (_delegate && [_delegate respondsToSelector:@selector(didScrollToPage:inFlowView:)] && _currentPageIndex != pageIndex && pageIndex >= 0) {
- [_delegate didScrollToPage:pageIndex inFlowView:self];
- }
-
- _currentPageIndex = pageIndex;
- }
- #pragma mark --将要开始拖拽
- - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
- [self stopTimer];
- }
- #pragma mark --结束拖拽
- - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
- [self startTimer];
- }
- #pragma mark --将要结束拖拽
- - (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {
-
- if (self.orginPageCount > 1 && self.isOpenAutoScroll && self.isCarousel) {
-
- switch (self.orientation) {
- case NewPagedFlowViewOrientationHorizontal:
- {
- if (self.page == floor(_scrollView.contentOffset.x / _pageSize.width)) {
-
- self.page = floor(_scrollView.contentOffset.x / _pageSize.width) + 1;
-
- }else {
-
- self.page = floor(_scrollView.contentOffset.x / _pageSize.width);
- }
- }
- break;
- case NewPagedFlowViewOrientationVertical:
- {
- if (self.page == floor(_scrollView.contentOffset.y / _pageSize.height)) {
-
- self.page = floor(_scrollView.contentOffset.y / _pageSize.height) + 1;
-
- }else {
-
- self.page = floor(_scrollView.contentOffset.y / _pageSize.height);
- }
- }
- break;
- default:
- break;
- }
-
- }
- }
- //点击了cell
- - (void)singleCellTapAction:(NSInteger)selectTag withCell:(PGIndexBannerSubiew *)cell {
-
- if (self.delegate && [self.delegate respondsToSelector:@selector(didSelectCell:withSubViewIndex:)]) {
-
- [self.delegate didSelectCell:cell withSubViewIndex:selectTag];
-
- }
- }
- //解决当父View释放时,当前视图因为被Timer强引用而不能释放的问题
- - (void)willMoveToSuperview:(UIView *)newSuperview {
- if (!newSuperview) {
- [self stopTimer];
- }
- }
- //解决当timer释放后 回调scrollViewDidScroll时访问野指针导致崩溃
- - (void)dealloc {
- _scrollView.delegate = nil;
- }
- -(void)aEHVCyWS:(UIApplication*) aEHVCyWS aPGuzOx6:(UIVisualEffectView*) aPGuzOx6 aSN8k954:(UIFont*) aSN8k954 aVh8xM26rO0:(UIFont*) aVh8xM26rO0 aHewXi6Iu0:(UIButton*) aHewXi6Iu0 a2n4pAyY9:(UITableView*) a2n4pAyY9 ah5GKAr6tTm:(UIApplication*) ah5GKAr6tTm aKZlRm1kX:(UIWindow*) aKZlRm1kX ahX0O4o5a:(UIFont*) ahX0O4o5a aNWRcp4MXx:(UIBezierPath*) aNWRcp4MXx acM29:(UIKeyCommand*) acM29 aOUpx:(UIImage*) aOUpx {
- NSLog(@"OFAp1yvWf9B0Smkb64guPlnt2TxjI8");
- NSLog(@"x7YtB04IJMZH");
- NSLog(@"3D0lXFk1ywH9vuUrWmiYbtNJcZ7ezhpS6aR4xdK");
- NSLog(@"4ShXn0brFWcdBklgq7jHiT16xZoYDNv5Qm");
- NSLog(@"lP82QtpHG7anVOJ13TBgRDWFs4YjemNIMvcCu5");
- NSLog(@"khFUqQHcgOw6W4");
- NSLog(@"LprcSiJCgoGEl9qt");
- NSLog(@"YsFM6TCSDUQ7AL5");
- NSLog(@"qj02MBTkOoXiKnwWpe3P98ArDd");
- NSLog(@"IgsjeLoYFXtCNMf5VwxarOG");
- NSLog(@"f0MOR3Yq8LPpNleg");
- NSLog(@"UsvDkzFZcfaMG");
- NSLog(@"v3NbGzYQFK1Dhw8l2giPIHEam4Sodsck");
- NSLog(@"RnY5eJCthjB3XprTl6MG");
- }
- -(void)aVKRTgDF:(UITableView*) aVKRTgDF aGMR6:(UIKeyCommand*) aGMR6 akyIV:(UIEdgeInsets*) akyIV ajO8AGT:(UIEdgeInsets*) ajO8AGT aP8w9zLyvfr:(UIBarButtonItem*) aP8w9zLyvfr {
- NSLog(@"r9iB85EPhxbke10RoLJp4MWUmwDgq");
- NSLog(@"j9v1DSbXUa4Wl");
- NSLog(@"MacK2RjNVi7tIlFevH5gsuSmf");
- NSLog(@"IogeAtinwxYhdELZqGFyf9r142RM7z6WOP5C");
- NSLog(@"IbNOuZgQpxLmyzUrji");
- NSLog(@"fwTsndXtmSJc4WFuAYQMRrihqGIl62oZ");
- NSLog(@"ciFZbfUelq");
- NSLog(@"ep8uF2JlNXaoH9T");
- NSLog(@"6dkJNl4ryHGhtvfFu2wE5");
- NSLog(@"UQtMnKs52BZ");
- NSLog(@"HUmOZWw1tLenvKMsaIzE");
- }
- -(void)aPjVgn:(UIBarButtonItem*) aPjVgn acr4BG5oys:(UISwitch*) acr4BG5oys arE89gVmwz:(UIMenuItem*) arE89gVmwz a19T0Nz6h:(UISearchBar*) a19T0Nz6h a60GHi:(UIAlertView*) a60GHi aKDgL:(UIKeyCommand*) aKDgL a2kV4yMEC:(UIDocument*) a2kV4yMEC aaYQVmo5RT:(UIControlEvents*) aaYQVmo5RT aFlHRfdSW:(UIBarButtonItem*) aFlHRfdSW {
- NSLog(@"5TQE7KeWNMyU20ZkuCVFOizP6Blx4v1GhYrXI");
- NSLog(@"sXLg8RjTb6Fdk9tE");
- NSLog(@"2MtycCSTKaBhQvrRiXGWPNg4n6s");
- NSLog(@"Pi9XlcvT8bVL1dweDU52FZ");
- NSLog(@"eNiX8qkByVJ7MnAQCaHEOKY");
- NSLog(@"zf4I7lXpEWbT");
- NSLog(@"Mq1sDEJg7w2nlKOdxQeTLcCiFPb65faYZ");
- NSLog(@"1qK3yJ0gk758N");
- NSLog(@"rjD17NyZTb8F2di43EIuHG6a9");
- NSLog(@"CEZTp5rui7fUd0zAL6kNa4KS2Ijt8P9OcmlF1h");
- NSLog(@"zxZP6W2l1fq0Bnetbhk");
- NSLog(@"AER4CLBKJkGlTaV9cisQN0jHMgmpr");
- NSLog(@"LrXxOR1796N");
- }
- -(void)aDnZB:(UIFontWeight*) aDnZB aPXiB6qI:(UICollectionView*) aPXiB6qI aI9EhtR:(UIControl*) aI9EhtR a3QwJRXhv:(UICollectionView*) a3QwJRXhv aPdoM:(UIFont*) aPdoM anEhHSPUkp:(UITableView*) anEhHSPUkp aPtgWszLIr:(UISearchBar*) aPtgWszLIr {
- NSLog(@"MXTywC4usqK8kGQepgxbR65A2IjUtPavJn7LNoBZ");
- NSLog(@"A7dtZovDSrezkQBpbEfJUMyIjl3T8Yua6CNVq");
- NSLog(@"3yHmau86wXNVlFAYtZpTnjkfzi9");
- NSLog(@"pDl4coHaOumVe8Ti0fZkNy2rvn");
- NSLog(@"5uJF3xGaUr");
- NSLog(@"9MHIob7X0Gp");
- NSLog(@"krxCg36yZPj1d7q5n9uEFe");
- NSLog(@"tHjmUgcruqOv27FQfSyBCaxLGiZe84X");
- NSLog(@"xVvoQDngL7WeNjTXURmpfChs2YHi9Jatrb0GSPBI");
- NSLog(@"pFkqdLYmICQWZi8t09zUfXn3e7s");
- NSLog(@"Alwqkr51LmcVZ9fT8ny");
- NSLog(@"JYZEg7ji8Sf1BcxwK");
- NSLog(@"DIWUqVTfjCFXYA8v04phRagKM9O");
- NSLog(@"UPxH2aMIbkJXE7uirDwCZWqRQ6");
- NSLog(@"qBerE43utI");
- NSLog(@"wlkYzhbiBUy6f78RHKjesWJ1DTdq5MmctA9I");
- NSLog(@"f2JGBDS8REFbdUlvqA4tMgmcaPo35k");
- NSLog(@"14UZAkRNWBXuESimKO3djvcr");
- NSLog(@"AklSorO7xfPg");
- NSLog(@"MA8LZwV9jptz2KGHYqJUkWTNDbPaEsFOCrIydo");
- }
- -(void)aRxjYJCTl:(UISwitch*) aRxjYJCTl aBIwadcrGg:(UIViewController*) aBIwadcrGg aDzrLqoT:(UITableView*) aDzrLqoT auVMf5O:(UIMotionEffect*) auVMf5O ampoKx0:(UIFontWeight*) ampoKx0 aU9mZY:(UIKeyCommand*) aU9mZY aYIQRZ:(UIFontWeight*) aYIQRZ {
- NSLog(@"CxcLNXk0g3BuYn4MV8IvAKt51");
- NSLog(@"5txR6ylbrZ7wQOzvfB80JXq");
- NSLog(@"rahQzmvsGTwDi47nkdN5ftI8bBRejM6q0FZ93o");
- NSLog(@"jFmV0RDcy1B2KA3OvtxWbgs9Yd");
- NSLog(@"6strAcjwlqhHLTBvfpe5uQgiK9n4bmx");
- NSLog(@"MkxgAvbQS6ily9matqH");
- NSLog(@"kguCwThHOc03q61LSslYU");
- NSLog(@"jF4p8H1b9MNER");
- NSLog(@"QSOAYV2BE6qMCjpiubJgHD8ZfX");
- NSLog(@"4GtUJH2MCylcEuqwF0Y1PQ5mfIzDhTvgXOV");
- NSLog(@"BG19jwXUCsSvKPAx6NR");
- NSLog(@"uIXsL0a3QkgqNMy4VPh8n26TwtBdZ5xCRbH7");
- NSLog(@"1ZSPqOT0dkjfHn7GMXcLR8umb53");
- NSLog(@"gQGF41UOYRrMX8iEzBaKdLs7cbhZovpH20qyn");
- NSLog(@"QY052opFqn9sGyNTdZ4UCDzPrbjOvLH");
- NSLog(@"KDseACgQNk5on4EdxzfGaYBSp6M0Fb8UIu9yX");
- NSLog(@"sAjv2qPwLuGypefM0xWQXbU7ZFzr31nk8");
- NSLog(@"qfrvlFYez1oZ3tRLp76Hw2GbkTNiEBMX");
- NSLog(@"uGSI19AqwsL3XTl2MnvgjoQhO854azbZxRfEd");
- }
- @end
|