UIPageControl

本文介绍如何使用UIKit在iOS应用中创建引导页。主要内容包括:利用UIScrollView实现页面滑动效果;通过UIPageControl指示当前页面;为最后一页添加按钮。文中还详细展示了如何设置图片视图的位置及大小,以及如何响应UIScrollView的滚动事件来更新UIPageControl。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**

 *  添加pageControl

 */

- (void)setupPageControl

{

    // 1.添加

    UIPageControl *pageControl = [[UIPageControl alloc] init];

    pageControl.numberOfPages = NewfeatureImageCount;

    CGFloat centerX = self.view.frame.size.width * 0.5;

    CGFloat centerY = self.view.frame.size.height - 30;

    pageControl.center = CGPointMake(centerX, centerY);

    pageControl.bounds = CGRectMake(0, 0, 100, 30);

    pageControl.userInteractionEnabled = NO;

    [self.view addSubview:pageControl];

    self.pageControl = pageControl;

    

    // 2.设置圆点的颜色

    pageControl.currentPageIndicatorTintColor = RGB(253, 98, 42,1);

    pageControl.pageIndicatorTintColor = RGB(189, 189, 189,1);

}

/**

 *  添加UISrollView

 */

- (void)setupScrollView

{

    UIScrollView *scrollView = [[UIScrollView alloc] init];

    scrollView.frame = self.view.bounds;

    scrollView.delegate = self;

    [self.view addSubview:scrollView];

    

    // 2.添加图片

    CGFloat imageW = scrollView.frame.size.width;

    CGFloat imageH = scrollView.frame.size.height;

    NSArray *imageArr = @[@"引导页01-背景",@"引导页02",@"引导页03"];

    for (int index = 0; index<NewfeatureImageCount; index++) {

        UIImageView *imageView = [[UIImageView alloc] init];

        

        // 设置图片

        imageView.image = [UIImage imageNamed:imageArr[index]];

        

        // 设置frame

        CGFloat imageX = index * imageW;

        imageView.frame = CGRectMake(imageX, 0, imageW, imageH);

        

        [scrollView addSubview:imageView];

        

        // 在最后一个图片上面添加按钮

        if (index == NewfeatureImageCount - 1) {

            [self setupLastImageView:imageView];

        }

    }

    

    // 3.设置滚动的内容尺寸

    scrollView.contentSize = CGSizeMake(imageW * NewfeatureImageCount, 0);

    scrollView.showsHorizontalScrollIndicator = NO;

    scrollView.pagingEnabled = YES;

    scrollView.bounces = NO;

}


/**

 *  只要UIScrollView滚动了,就会调用

 *

 */

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

{

    // 1.取出水平方向上滚动的距离

    CGFloat offsetX = scrollView.contentOffset.x;

    

    // 2.求出页码

    double pageDouble = offsetX / scrollView.frame.size.width;

    int pageInt = (int)(pageDouble + 0.5);

    self.pageControl.currentPage = pageInt;

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值