日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

ios 图片自动轮播

發(fā)布時間:2023/11/27 生活经验 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ios 图片自动轮播 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
ios 圖片自動輪播

#import "NYViewController.h"#define kImageCount 5@interface NYViewController () <UIScrollViewDelegate>
@property (nonatomic, strong) UIScrollView *scrollView;
@property (nonatomic, strong) UIPageControl *pageControl;@property (nonatomic, strong) NSTimer *timer;
@end@implementation NYViewController//懶加載加載scrollView
-(UIScrollView *)scrollView
{if (_scrollView == nil) {_scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(10, 20, 300, 130)];_scrollView.backgroundColor = [UIColor redColor];[self.view addSubview:_scrollView];//contentSize//高度為0 只水平滾動self.scrollView.contentSize = CGSizeMake(kImageCount * _scrollView.bounds.size.width, 0);//取消彈簧效果_scrollView.bounces = NO;//取消滾動條_scrollView.showsHorizontalScrollIndicator = NO;//水平_scrollView.showsVerticalScrollIndicator = NO;//豎直//要分頁_scrollView.pagingEnabled = YES;//設(shè)置代理_scrollView.delegate = self;}return _scrollView;
}-(UIPageControl *)pageControl
{if (_pageControl == nil) {//分頁控件,本質(zhì)上和scrollView沒有任何關(guān)系,是兩個獨立的控件_pageControl = [[UIPageControl alloc]init];//總頁數(shù)_pageControl.numberOfPages = kImageCount;//控件尺寸CGSize size = [_pageControl sizeForNumberOfPages:kImageCount];_pageControl.bounds = CGRectMake(0, 0, size.width, size.height);_pageControl.center = CGPointMake(self.view.center.x, 130);//設(shè)置顏色_pageControl.pageIndicatorTintColor = [UIColor redColor];_pageControl.currentPageIndicatorTintColor = [UIColor blackColor];[self.view addSubview:_pageControl];//添加監(jiān)聽方法/**在OC中,絕大多數(shù)“繼承UIControl控件”,都可以監(jiān)聽UIControlEventValueChanged事件,只有button除外,button是點得,是touchup。。。*/[_pageControl addTarget:self action:@selector(pageChanged:) forControlEvents:UIControlEventValueChanged];}return _pageControl;
}//分頁控件的監(jiān)聽方法
-(void)pageChanged:(UIPageControl *)page
{//根據(jù)頁數(shù),調(diào)整滾動視圖中得圖片位置contentOffsetCGFloat x = page.currentPage * self.scrollView.bounds.size.width;[self.scrollView setContentOffset:CGPointMake(x, 0) animated:YES];
}- (void)viewDidLoad
{[super viewDidLoad];//設(shè)置圖片for (int i = 0; i<kImageCount; i++) {NSString *imageName = [NSString stringWithFormat:@"img_%02d", i+1 ];UIImage *image = [UIImage imageNamed:imageName];UIImageView *imageView = [[UIImageView alloc] initWithFrame: self.scrollView.bounds];imageView.image = image;[self.scrollView addSubview:imageView];}//計算imageView的位置[self.scrollView.subviews enumerateObjectsUsingBlock:^(UIImageView *imageView, NSUInteger idx, BOOL *stop) {//調(diào)整x =》 origin =》frameCGRect frame = imageView.frame;frame.origin.x = idx * frame.size.width;imageView.frame = frame;}];//分頁初始頁數(shù)為0self.pageControl.currentPage = 0;//啟動時鐘
    [self startTimer];}/**啟動時鐘*/
-(void)startTimer
{self.timer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(updateTimer) userInfo:nil repeats:YES];//添加運行循環(huán)
    [[NSRunLoop currentRunLoop]addTimer:self.timer forMode:NSRunLoopCommonModes];}-(void)updateTimer
{//頁號發(fā)生變化//(當(dāng)前頁數(shù) + 1) % 總頁數(shù)int page = (self.pageControl.currentPage+1) % kImageCount;self.pageControl.currentPage = page;//調(diào)用監(jiān)聽方法。讓滾動視圖滾動
    [self pageChanged:self.pageControl];
}#pragma mark - scrollView的代理方法//滾動視圖停下來
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{// 停下來的當(dāng)前頁數(shù),通過contentOffset獲取當(dāng)前偏移量NSLog(@"%@",NSStringFromCGPoint(scrollView.contentOffset));//計算頁數(shù)int page = scrollView.contentOffset.x/scrollView.bounds.size.width;self.pageControl.currentPage = page;}/**抓住圖片時,停止時鐘,松手后,開啟時鐘*/
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{//停止時鐘,停止后就不能在使用,如果要啟用時鐘,需要重新實例化
    [self.timer invalidate];
}-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{//啟動時鐘
    [self startTimer];}
@end

?

posted on 2015-07-30 17:48 高手superior 閱讀(...) 評論(...) 編輯 收藏

轉(zhuǎn)載于:https://www.cnblogs.com/jackson-leung/p/4690080.html

總結(jié)

以上是生活随笔為你收集整理的ios 图片自动轮播的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。