Ich benutze Horizontal Auto Scroll mit Timer. Ich möchte, dass es eins nach dem anderen blättert.UICollectionView - Horizontaler AutoScroll mit Timer
In meinem Fall ist es Scrollen kontinuierlich von links nach rechts. und zuletzt scrollt es auch Leerraum nach der letzten Zelle.
@interface AccountsVC()<UICollectionViewDataSource, UICollectionViewDelegate,UICollectionViewDelegateFlowLayout>
{
CGFloat width_Cell;
NSTimer *autoScrollTimer;
}
- (void)viewDidLoad
{
[super viewDidLoad];
width_Cell = 0.0;
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self configAutoscrollTimer];
}
- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
[self deconfigAutoscrollTimer];
}
- (void)configAutoscrollTimer
{
autoScrollTimer = [NSTimer scheduledTimerWithTimeInterval:0.03 target:self selector:@selector(onTimer) userInfo:nil repeats:YES];
}
- (void)deconfigAutoscrollTimer
{
[autoScrollTimer invalidate];
autoScrollTimer = nil;
}
- (void)onTimer
{
[self autoScrollView];
}
- (void)autoScrollView
{
CGPoint initailPoint = CGPointMake(width_Cell, 0);
if (CGPointEqualToPoint(initailPoint, self.collectionView.contentOffset))
{
if (width_Cell < self.collectionView.contentSize.width)
{
width_Cell += 0.5;
}else
{
width_Cell = -self.view.frame.size.width;
}
CGPoint offsetPoint = CGPointMake(width_Cell, 0);
self.collectionView.contentOffset = offsetPoint;
}else
{
width_Cell = self.collectionView.contentOffset.x;
}
}
Ihre Kollektionzellenbreite zu Ihrem self.width gleich ??? oder zeigen Sie zuerst 3 Zellen, dann nach Scroll 3 Zellen? –
@AgentChocks. nein, alles basiert auf Array-Anzahl. Scrolling Start vom ersten Element in Array bis zum Ende und dann umgekehrt – ChenSmile
@AgentChocks. hast du irgendeine lösung – ChenSmile