MyPageView是自定义的UIView。实现效果如下。
1.MyPageView.h
#import <UIKit/UIKit.h> @interface MyPageView : UIView<UIScrollViewDelegate> @property(strong,nonatomic) UIScrollView* scrollView; @property (strong, nonatomic) IBOutlet UIPageControl *pageControl; -(void)initPageViewWithViewController:(UIViewController*)controller imagePaths:(NSArray*)imagePathArr; @end
2.MyPageView.m
#import "MyPageView.h" @implementation MyPageView - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { // Initialization code } return self; } -(void)initPageViewWithViewController:(UIViewController*)controller imagePaths:(NSArray*)imagePathArr{ NSInteger count = [imagePathArr count]; CGFloat height = self.frame.size.height; CGFloat width = self.frame.size.width; self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, width, height)]; self.scrollView.contentSize = CGSizeMake(width*count, height); self.scrollView.showsVerticalScrollIndicator = FALSE; self.scrollView.showsHorizontalScrollIndicator = FALSE; //important [self.scrollView setPagingEnabled:YES]; [self addSubview:self.scrollView]; CGFloat pageControlWidth = 10.0f * count; CGFloat pageControlHeight = 15.0f; self.pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake((width - pageControlWidth) / 2, height - pageControlHeight, pageControlWidth, pageControlHeight)]; [self.pageControl setCurrentPage:0]; [self.pageControl setNumberOfPages:count]; [self.pageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged]; [self addSubview:self.pageControl]; NSInteger index = 0; for(NSString *imagePath in imagePathArr){ CGFloat xPos = index * width; UIImageView* imageView = [[UIImageView alloc] initWithFrame:CGRectMake(xPos, 0, width, height)]; imageView.image = [UIImage imageNamed:imagePath]; [self.scrollView addSubview:imageView]; index++; } //implement UIScrollViewDelegate self.scrollView.delegate = self; } - (void) scrollViewDidScroll: (UIScrollView *) aScrollView { CGFloat width = self.frame.size.width; CGPoint offset = aScrollView.contentOffset; self.pageControl.currentPage = offset.x / width; } //在点击pageControl时调用 - (IBAction)changePage:(id)sender { CGFloat width = self.frame.size.width; [UIView animateWithDuration:0.3f animations:^{ int whichPage = self.pageControl.currentPage; self.scrollView.contentOffset = CGPointMake(width * whichPage, 0.0f); }]; } @end
3.调用方法
MyPageView* pageView = [[MyPageView alloc] initWithFrame:CGRectMake(0,44.0f,320.0f,140.0f)]; NSMutableArray* arr = [NSMutableArray array]; [arr addObject:@"m1.png"]; [arr addObject:@"m2.png"]; [pageView initPageViewWithViewController:self imagePaths:arr]; [self.view addSubview:pageView];
相关推荐
这个资源"uiscrollView+uipageControl无缝循环可点击"正是关于如何将这两个控件集成,以创建一个既能够无缝循环又可以点击的滚动视图。 `UIScrollView` 是苹果提供的一个视图类,它允许用户在内容超过视图边界时...
在iOS开发中,`UIScrollView` 是一个非常重要的控件,它允许用户在内容超过视图范围时滚动查看。配合 `UIPageControl` 和 `NSTimer`,我们可以实现类似轮播图的效果,即循环播放多个视图。这个项目可能是一个简单的...
UIScrollView+UIPageControl 核心步骤 在图片显示完全(endDecelerating)时,重新设置三个UIImageView的图片内容 调整UIScrollView的偏移量,始终显示中间的UIImageView 如有图片1、2、3、4、5,默认存放图片5、1、...
在iOS开发中,UIPageControl是苹果提供的一种用于展示页面滑动进度的控件,通常在滑动视图(如UIScrollView或UIPageViewController)中使用。标准的UIPageControl显示为一系列相同大小的小圆点,每个圆点代表一个...
在iOS开发中,UIScrollView和UIPageControl是两个非常重要的组件,它们被广泛用于构建具有滚动功能和分页显示的应用界面。下面将详细讲解这两个组件的工作原理、如何使用以及它们之间的协同工作。 首先,...
UIScrollView与UIPageControl的简单应用以及一些非常基本的使用方法
在Swift编程中,创建一个自动轮播图效果通常涉及到多个组件的协同工作,如UIScrollView、UIPageControl和定时器(Timer)。在这个实例中,我们将会深入理解如何利用这些组件来实现这一功能。 首先,我们需要定义...
1.自动滑动图片,UIPageControl会随着图片滑动而改变; 2.用户可以手动切换图片,左右切换均可,当用户手动滑动图片时,图片停止自动切换; 3.实现了图片的循环播放; 4.UIPageControl可点击从而实现向左或右滑动,...
"IOS中表格的实现方法:UIScrollView+UILabel"的这种方法,是一种基础且灵活的解决方案,它允许开发者通过自定义的方式展示数据,并提供滚动功能。下面我们将详细探讨这个方法及其相关知识点。 首先,`...
总之,理解和掌握LaunchScreen、APPIcon、StatusBar、UIScrollView和UIPageControl这五个关键概念,对于开发高质量的iOS应用至关重要。它们不仅影响着应用的外观,还直接影响到用户的使用体验。通过实践案例,开发者...
在iOS应用开发中,`UIScrollView`和`UIPageControl`是两个非常重要的组件,它们常被用来实现类似相册或滚动浏览多页内容的功能。在这个例子中,开发者使用纯代码方式,而非XIB(Interface Builder)文件,创建了一个...
无缝可循环可点击的UIScrollVeiw+UIPageControl例子,不过没有用到重用机制,有需要的朋友可以拿去看看,要了5分,因为最近分比较紧缺,望体谅,没资源分或者没帐号的朋友可以发邮件给我,我传给你。tuxinxiang@...
在这个"ios-Banner轮播 +自定义UIpageControl.zip"压缩包中,我们很显然会涉及到如何在iOS应用中实现一个带有自定义UIPageControl的Banner轮播效果。UIPageControl是iOS SDK提供的一种原生控件,用于显示当前页面和...
在iOS开发中,创建一个类似相册的应用是常见的需求,其中`UIScrollView`和`UIPageControl`是实现这一功能的关键组件。`UIScrollView`是苹果提供的一个可滚动视图,能够展示超过视图边界的内容,而`UIPageControl`则...
在iOS开发中,`UIScrollView` 是一个非常重要的控件,它允许用户在内容超过视图显示范围时进行滚动查看。而结合 `UIButton`,我们可以创建一个动态的、可滚动的顶部标签页,这种效果通常用于展示多个选项卡或类别。...
在"UIWebView/UIScrollView+EGO实现下拉刷新"这个项目中,开发者可能采取了以下步骤: 1. **集成EGO库**:首先,开发者需要将EGO的源代码导入到项目中,或者通过CocoaPods等依赖管理工具进行安装。 2. **创建...
本示例“ios-UIScrollView分页滑动宽度自定义.zip”专注于讲解如何自定义UIScrollView的分页滑动宽度,以实现更灵活、个性化的用户界面。这通常涉及到的内容包括UIScrollView的基本使用、pagingEnabled属性的设置...
在iOS开发中,`UIScrollView` 是一个至关重要的控件,它允许用户在内容超过屏幕大小时进行滚动查看。本教程将深入讲解如何使用Swift和SnapKit框架来设置`UIScrollView`的AutoLayout约束,以实现更灵活和精确的界面...
总的来说,“循环滚动ScrollView+自定义UIPageControl”的实现涉及到`UIScrollView`的无限循环滚动逻辑,`UIPageControl`的自定义以及两者之间的同步。这个过程需要对iOS的基础知识有深入了解,包括布局、滚动事件...
swipe fingers to left or right can change the image when you click the little dot at the right corner, you also can switch the image page by page.