UIScrollView使用 UIPageControl

本文介绍如何在iOS开发中结合UIScrollView和UIPageControl实现页面滑动的效果。通过设置`automaticallyAdjustsScrollViewInsets`为NO,并实现`scrollViewDidScroll:` delegate方法来监听滚动过程。

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

//视图控制器  scroll的预留导航栏的距离关掉

    [self setAutomaticallyAdjustsScrollViewInsets:NO];

//scrollView的协议方法
- (
void)scrollViewDidScroll:(UIScrollView *)scrollView
{
   
NSLog(@"任何谝移量的改变都会调用这个方法");
}最重要!!!

self.pageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(20, 400, 280, 40)];
        [
self.view addSubview:self.pageControl];
       
self.pageControl.backgroundColor = [UIColor clearColor];
       
//   设置白点的数量
       
self.pageControl.numberOfPages = 3;
       
self.pageControl.pageIndicatorTintColor = [UIColor grayColor];
       
//  当值改变时调用的方法
        [
self.pageControl addTarget:self action:@selector(pageAction:) forControlEvents:UIControlEventValueChanged];
       
        [
self.pageControl release];


- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
//    只要scrollview一滚动 就调用这个方法
   
NSLog(@"谝移量 %f", scrollView.contentOffset.x);
   
int page = scrollView.contentOffset.x / scrollView.frame.size.width;

   
self.pageControl.currentPage = page;
}

- (
void)pageAction:(UIPageControl *)pageControl
{
   
NSLog(@"翻页");
   
// 显示当前页数,从零开始
   
NSLog(@"%d",pageControl.currentPage);
//    _scrollViewMain.contentOffset = CGPointMake( 280 * pageControl.currentPage, 0);
   
// 调整谝移量的一个动画效果
    [
_scrollViewMain setContentOffset:CGPointMake(280*pageControl.currentPage, 0) animated:YES];
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr__Hacker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值