UIScrollViewAndUIPageController结合使用
来源:互联网 发布:计算机二级办公软件 编辑:程序博客网 时间:2024/06/10 03:41
.h文件代码
@interface ViewController : UIViewController<UIScrollViewDelegate>
{
UIScrollView *_scrollView;
UIPageControl *_pageControl;
NSTimer *_timer;
int _speed;
}
@end
.m文件代码
- (void)viewDidLoad
{
[super viewDidLoad];
_scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 20, 320, 200)];
_scrollView.contentSize = CGSizeMake(5 *320, 200);
for (int a = 0; a < 5; a++)
{
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(a *320, 0, 320, 200)];
NSString *imageStr = [NSString stringWithFormat:@"image%d.jpg",a+1];
imageView.image = [UIImage imageNamed:imageStr];
[_scrollView addSubview:imageView];
}
_scrollView.pagingEnabled = YES;
_scrollView.bounces = NO;
_scrollView.delegate = self;
[self.view addSubview:_scrollView];
_pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(100, 200, 140, 20)];
_pageControl.numberOfPages = 5;
_pageControl.currentPageIndicatorTintColor = [UIColor yellowColor];
_pageControl.pageIndicatorTintColor = [UIColor blackColor];
[_pageControl addTarget:self action:@selector(valueChange) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:_pageControl];
设置定时器,使图片自动滚动
_timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(onTimer) userInfo:nil repeats:YES];
}
- (void)onTimer
{
if (_pageControl.currentPage == 0)
{
_speed = 1;
}
if (_pageControl.currentPage == 4)
{
_speed = -1;
}
_pageControl.currentPage = _pageControl.currentPage + _speed;
[_scrollView setContentOffset:CGPointMake(_pageControl.currentPage *320, 0) animated:YES];
}
当拖动图片的时候,使pageControl的当前显示点一起改变
- (void)valueChange
{
[_scrollView setContentOffset:CGPointMake(_pageControl.currentPage *320, 0) animated:YES];
}
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
//[_timer invalidate];
// _timer = nil;
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
}
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
//在scrollView已经结束减速的时候, 更改pageControl.currentPage属性的值;
//根据scrollView的偏移量/320, 计算当前小圆点所处于的位置;
_pageControl.currentPage = _scrollView.contentOffset.x/320;
NSLog(@"_scrollView.contentOffSet = %f",_scrollView.contentOffset.x);
NSLog(@"_pageControl.currentPage = %d",_pageControl.currentPage);
_timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(onTimer) userInfo:nil repeats:YES];
}
具体代码
- UIScrollViewAndUIPageController结合使用
- GridView,DropDownList结合使用!
- ActiveMQspring结合使用
- Dwr结合SSH使用
- gallery ,imageSwitcher 结合使用
- spring结合 atomikos 使用
- Selinux结合Apache使用
- find 结合xargs 使用
- LayoutInflater结合Context使用
- CAAnimation结合绘图使用
- TotalCommander结合Bash使用
- List结合ArrayAdapter使用
- Metasploit 结合 proxychains 使用
- nginx结合tomcat使用
- UIScrollView + AutoLayout结合使用
- RecyclerView结合CardView使用
- Elasticsearch结合Nginx使用
- laravel结合datatables使用。
- Android的消息处理机制(图+源码分析)——Looper,Handler,Message
- macOS上安装opencv3笔记
- RESTful Web Services中API的设计原则
- 颜色库
- Coursera课程Python for everyone:chapter8
- UIScrollViewAndUIPageController结合使用
- iOS 【OC 封装网络请求业务类(AFHTTPRequestOperationManager 废弃)】
- Android 可响应drawable点击事件的TextView
- 对gulp-minify-css改动一点点,只合并指定大小的图片
- Android RecyclerView 使用完全解析 体验艺术般的控件
- SELF4J 文档学习笔记
- HDOJ1159 - Common Subsequence
- 学习目标
- Coursera课程Python for everyone:chapter9