2017-06-09 14 views
0

私は自分のサイトから画像を取得するバナーを持っています。バナーを左にスクロールし、次の画像または前の画像を取得する権利を持っています。しかし、5秒ごとに画像を自動的に変更したいと思っています。UIViewで5秒ごとに別の画像に変更するにはどうすればよいですか?

これらのコードをimageViewに追加しようとしましたが、バナーが空になり画像が表示されません。

imageView.animateImages = delegate.bannerDetailsArray; 
imageView.animationDuration = 5.0; 
imageView.animationRepeatCount = 0; 
[imageview startAnimating]; 

私は、配列が問題の場所であると推測していますが、現在どのように修正するのか手がかりがありません。

5秒ごとにバナー画像を変更する方法はありますか?

-(void) bannerSettings 
{ 
bannerScrollView = [UIScrollView new]; 
[bannerScrollView setBackgroundColor:BackGroundColor]; 
[bannerScrollView setFrame:CGRectMake(0,0,delegate.windowWidth, [self  imageWithImage:delegate.windowWidth maxHeight:200])]; 
[bannerScrollView setPagingEnabled:YES]; 
[bannerScrollView setContentSize:CGSizeMake([delegate.bannerDetailsArray count]*delegate.windowWidth, 0)]; 

NSLog(@"%@",delegate.bannerDetailsArray); 

for(int i=0;i<[delegate.bannerDetailsArray count];i++) 
{ 
    UIImageView * imageView = [UIImageView new]; 
    [imageView setFrame:CGRectMake(i*delegate.windowWidth,0,delegate.windowWidth,[self imageWithImage:delegate.windowWidth maxHeight:200])]; 
    [imageView sd_setImageWithURL:[NSURL URLWithString:[[delegate.bannerDetailsArray objectAtIndex:i]objectForKey:@"bannerImage"]]]; 
    [imageView setContentMode:UIViewContentModeScaleAspectFill]; 
    [imageView.layer setMasksToBounds:YES]; 
    [imageView setUserInteractionEnabled:YES]; 
    [imageView setTag:i]; 

    //imageView.animateImages = delegate.bannerDetailsArray; 
    //imageView.animationDuration = 3.0; 
    //imageView.animationRepeatCount = 0; 
    //[imageview startAnimating]; 


    [bannerScrollView addSubview:imageView]; 

    UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(bannerGestureTapped:)]; 
    [imageView addGestureRecognizer:singleTap]; 

※上記のコードは、アニメーション部分が無視されたときに正常に機能します。 は

答えて

0

ScrollViewはeffect.Followこのthreadを見るためにNSTimer機能では、このプロパティを使用してプロパティ

setContentOffset:animated: 

を持っていただきありがとうございます。それはこれを作る方法のステップバイステップのプロセスが含まれています。

または。

人気のスレッドthisのようなUIPageViewControllerとNStimerの組み合わせを使用できます。

UIPageVCには、次のような方法があります。

- (void)setViewControllers:(NSArray *)viewControllers 
       direction:(UIPageViewControllerNavigationDirection)direction 
        animated:(BOOL)animated 
       completion:(void (^)(BOOL finished))completion 

データを配信する予定です。その後、NSTimerを一定の時間使用して画像を表示することができます。

+0

ありがとうございます。私はそれを今働かせるようにしています。私はimageViewにNStimerを追加して、今度は5秒に一度起動します。 – Kevin

関連する問題