UIPageControl(滑动图片时底下的圆点)

UIPageControl继承于 UIControl

样式

UIPageControl *page = [[UIPageControlalloc]initWithFrame:CGRectMake(90,600, 200,40)];

 page.backgroundColor = [UIColor greenColor];

[self.viewaddSubview:page];

[page release];

page.tag =1000;

     

图片个数和点的个数相同

page.numberOfPages =6;


屏蔽page的点击事件相应

page.enabled = NO;

    

当只有一个元素(显示的点数应该为1时)隐藏page

page.hidesForSinglePage = YES;


设置颜色

点的颜色

被选中的点的颜色

page.currentPageIndicatorTintColor = [UIColororangeColor];

    

点的背景色

page.pageIndicatorTintColor = [UIColor cyanColor];

    

添加一个点击方法

[pageaddTarget:selfaction:@selector(pageActiong:)forControlEvents:UIControlEventValueChanged];


创建

 self.scrollView = [[UIScrollViewalloc]initWithFrame:CGRectMake(0,0, WIDTH,HEIGHT)];

    self.scrollView.backgroundColor = [UIColoryellowColor];

    [self.view addSubview:self.scrollView];

    [self.scrollViewrelease];

    

    

    self.scrollView.contentSize =CGSizeMake(WIDTH *6, 0);

    self.scrollView.pagingEnabled =YES;

    self.scrollView.bounces =NO;

    

    self.scrollView.delegate =self; 设置代理人

    

    加图片

    for (NSInteger i =580; i < 586; i++) {

        NSString *picName = [NSStringstringWithFormat:@"%ld.jpeg", i];

        UIImageView *imageView = [[UIImageViewalloc]initWithImage:[UIImageimageNamed:picName]];

        

        imageView.frame =CGRectMake(WIDTH * (i -580), 0,WIDTH, HEIGHT);

        [self.scrollViewaddSubview:imageView];

        [imageView release];

    }


 点滑动会让图片跟着动

-(void)pageActiong:(UIPageControl *)page

{

    点是从0开始的(个数是从第0张开始的)

    NSLog(@"%ld", page.currentPage);

    

     触发事件,进行图片的切换

    self.scrollView.contentOffset = CGPointMake(page.currentPage * WIDTH, 0);

    

    [self.scrollViewsetContentOffset:CGPointMake(page.currentPage *WIDTH, 0)animated:YES];

    现在的滑动图片点不动  

    所以要签订协议

}

 图片动,点也动

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

{

   找到page

    UIPageControl *page = (UIPageControl *)[self.viewviewWithTag:1000];


    page.currentPage =self.scrollView.contentOffset.x /WIDTH;

}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在iOS中,要实现仿今日头条滑块滑动效果,可以借助UIKit框架中的UIScrollView以及UICollectionView来实现。 首先,在界面中添加一个UIScrollView,设置其frame为所需大小,并将其contentSize设置为所有滑块所占的总宽度。如果滑块数目较多,可以使用UICollectionView来更方便地布局和管理滑块。 接下来,可以使用UIPageControl来显示当前滑块的页数,通过与UIScrollView的滑动距离进行关联,使UIPageControl随着滑块的滑动而改变页数。可以通过UIScrollViewDelegate的方法scrollViewDidScroll来实现这一功能,根据当前的contentOffset来计算并更新UIPageControl的当前页数。 另外,要实现滑块的点击切换功能,可以使用UITapGestureRecognizer来监听滑块的点击事件。当检测到点击,通过计算点击点的位置来判断点击的是哪个滑块,并使用UIScrollView的方法scrollRectToVisible来将该滑块滑动到可见区域。 为了增强滑块的滑动体验,可以结合UIView动画来实现平滑滑动的效果。使用UIView的方法animateWithDuration:animations:completion:来执行滑块的滑动动画,通过改变UIScrollView的contentOffset来实现滑块的平滑滑动。 此外,还可以添加一些其他效果来增强用户体验,例如滑块滑动到边缘的弹性效果、滑块的缩放效果等。 总而言之,要实现iOS仿今日头条滑块滑动效果,需要借助UIScrollView或UICollectionView来布局和管理滑块,结合UIPageControl、UITapGestureRecognizer和UIView动画来实现滑块的滑动、点击和平滑滑动效果,并可以添加一些其他效果来增强用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值