轮播图点击跳转

2018-09-25  本文已影响0人  朕i

#import "MyNewViewController.h"

#import "MainViewController.h"

@interface MyNewViewController ()<UIScrollViewDelegate>

{

    NSTimer* timer ;

    UIScrollView* scroll ;

    intk ;

    inti ;

    UIPageControl * page ;

}

@end

@implementationMyNewViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    // 新特性界面

    // 滚动视图

    scroll = [[UIScrollView alloc]initWithFrame:self.view.frame];

    scroll.backgroundColor = [UIColor redColor];

    // 滚动的范围

    scroll.contentSize = CGSizeMake(self.view.frame.size.width * 4 , self.view.frame.size.height);

    //  设置分页

    scroll.pagingEnabled = YES ;

    // 隐藏水平滚动条

    scroll.showsHorizontalScrollIndicator = NO ;

    // 取消弹簧效果

    scroll.bounces=NO;

    // 代理

    scroll.delegate=self;

    // 初始化图片框

    for(i=0;i<4;i++)

    {

        UIImageView  * img = [[UIImageView alloc]initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d",i+1]]];

        img.frame = CGRectMake(i * self.view.frame.size.width, 0, self.view.frame.size.width, self.view.frame.size.height);

        if(i==3)

        {

            // 按钮

            UIButton* btn = [[UIButtonalloc]initWithFrame:CGRectMake((self.view.frame.size.width-100)/2,600,100,44)];

            // 按钮内容

            [btnsetTitle:@"立即体验"forState:UIControlStateNormal];

            // 设置圆角

            btn.layer.cornerRadius=10;

            btn.layer.masksToBounds=YES;

            // 设置边框

            btn.layer.borderWidth=2;

            btn.layer.borderColor= [UIColorcyanColor].CGColor;

            [btnsetTitleColor:[UIColor greenColor] forState:UIControlStateNormal];

            // 设置事件

            [btnaddTarget:self action:@selector(tiao) forControlEvents:UIControlEventTouchUpInside];

            // 用户交互

            img.userInteractionEnabled = YES ;

            [imgaddSubview:btn];

        }

        // 图片加入滚动视图

        [scrolladdSubview:img];

    }

    // 添加到主视图

    [self.view addSubview:scroll];

    // 设置分页控制点

    page= [[UIPageControlalloc]initWithFrame:CGRectMake((self.view.frame.size.width-100) /2,650,100,30)];

    //分页点的个数

    page.numberOfPages = 4 ;

    // 设置页码的颜色

    page.pageIndicatorTintColor = [UIColor greenColor];

    // 选中点的颜色

    page.currentPageIndicatorTintColor = [UIColor yellowColor];

    // 禁用

    page.enabled=NO;

    // 加入

    [self.view addSubview:page];

    // 定时器初始化

    timer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(DSQ) userInfo:nil repeats:YES];

}

// 时间控制器的方法

-(void)DSQ

{

    // k 的值 等于偏移量➗视图宽的值    page.currentPage 默认值

    k = scroll.contentOffset.x/self.view.frame.size.width ;

    //    每隔2.5秒 k加1

    k++ ;

    // 获取偏移量

    [scroll setContentOffset:CGPointMake(k * self.view.frame.size.width, 0) animated:YES];

    if(k>=3)

    {

        // 定时器关闭

        [timerinvalidate];

//        k = scroll.contentOffset.x/self.view.frame.size.width ;

//        [scroll setContentOffset:CGPointMake(0 * self.view.frame.size.width, 0) animated:YES];

//        [timer fire];

    }

}

// 跳转方法

-(void)tiao

{

    // 初始化

    MainViewController * MainVc = [[MainViewController alloc]init];

    //跳转下一个界面

    [self presentViewController:MainVc animated:YES completion:nil];

}

// 当视图滚动后  进入此方法

-(void)scrollViewDidScroll:(UIScrollView*)scrollView

{

    page.currentPage = scroll.contentOffset.x/self.view.frame.size.width ;

}

@end

上一篇下一篇

猜你喜欢

热点阅读