UIScrollView
2015-08-05 19:48
495 查看
1.现在文件的 Build Setting 选项中将 ARC 改为 NO.
2.创建一个 MainViewController 的类.
3.将图片拖入文档.
4.在 AppDelegate.m 中做好准备工作.
4.在 MainViewController.h 中.
2.创建一个 MainViewController 的类.
3.将图片拖入文档.
4.在 AppDelegate.m 中做好准备工作.
#import "AppDelegate.h" #import "MainViewController.h" @interface AppDelegate () @end @implementation AppDelegate - (void)deallo { [_window release]; [super dealloc]; } - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; [_window release]; MainViewController *mainVC =[[MainViewController alloc] init]; self.window.rootViewController = mainVC; return YES; }
4.在 MainViewController.h 中.
#import "MainViewController.h" // 创建两个宏定义. #define WIDTH self.view.frame.size.width #define HEIGHT self.view.frame.size.height @interface MainViewController ()<UIScrollViewDelegate> @end @implementation MainViewController - (void)viewDidLoad { [super viewDidLoad] // 它继承 UIView,可以通过创建 view 的四步对 ScrollView 进行创建. UIScrollView *scrollV =[[UIScrollView alloc] initWithFrame:self.view.frame]; scrollV.backgroundColor = [UIColor greenColor]; [self.view addSubview:scrollV]; [scrollV release]; // 重要属性,这个属性可以让 scrollview 滚动起来. // conteSize 设置 scrollView 的滚动范围. scrollV.contentSize = CGSizeMake(WIDTH * 5, HEIGHT); // 因为有五张图片所以设定滚动范围为5. // 设置按页来进行滚动. scrollV.pagingEnabled = YES; for (NSInteger i = 1; i < 6; i++) { // 找到图片的名字. NSString *picName = [NSString stringWithFormat:@“%ld.jpg”, i]; // 通过图片的名字来创建UIImageView. UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:picName]]; imageView.frame = CGRectMake(WIDTH * (i - 1), 0, WIDTH, HEIGHT); // 把imageView放到scrollview上 [scrollV addSubview:imageView]; [imageView release]; } // 通过设置偏移量,可以设置默认图片的位置. scrollV.contentOffset = CGPointMake(WIDTH * 2, 0); // 关闭边界回弹的效果 scrollV.bounces = NO; // 水平和垂直的滚动条会作为两个子视图添加到 scrollView 的子视图里如果把滚动条小果关闭,这两个视图就不会添加到scrollView的子视图里. NSLog(@“%@“, scrollV.subviews);
// 关闭滚动条(水平,垂直). scrollV.showsHorizontalScrollIndicator = NO; scrollV.showsVerticalScrollIndicator = NO; // 设置代理人. scrollV.delegate = self; // 设置tag值. scrollV.tag = 1000; // 创建一个计时器. [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(changeImage) userInfo:nil repeats:YES]; } // 只要滚动就会触发的协议方法. - (void)scrollViewDidScroll:(UIScrollView *)scrollView { NSLog(@“开始滚动”); } // 减速停止的时候会触发的协议方法. - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { NSLog(@“滚动停止”); if (scrollView.contentOffset.x == 0) { scrollView.contentOffset = CGPointMake(WIDTH * 5, 0); } if (scrollView.contentOffset.x == WIDTH * 6) { scrollView.contentOffset = CGPointMake(WIDTH * 1, 0); } } // 定时改变图片切换的方法. - (void)changeImage { // 通过 tag 值找 scrollview. UIScrollView *scrollView = (UIScrollView *)[self.view viewWithTag:1000]; // 通过计时器,让图片自动播放. scrollView.contentOffset = CGPointMake(scrollView.contentOffset.x + WIDTH, 0); // [scrollView setContentOffset:CGPointMake(scrollView.contentOffset.x + WIDTH, 0) animated:YES]; // 连续播放. if (scrollView.contentOffset.x == WIDTH * 6) { scrollView.contentOffset = CGPointMake(WIDTH, 0); } }
相关文章推荐
- android android:duplicateParentState="true" "false"
- UIScrollView, UIPageControl,UITableView
- [IOS]今天开始学UI---UIImageView
- Handler MessageQueue Looper
- HDU 4372 Count the Buildings(组合数+斯特林数)
- HDOJ--1242--Rescue
- 【HDU1503】【Advanced Fruits】
- iOS开发之----根据文本内容和字体大小计算UILabel的size
- HDU 1509 Windows Message Queue(优先队列)
- UIPageControl(滑动图片时底下的圆点)
- [IOS]今天开始学UI---UIDatePicker
- ServerGuide 引导安装指南教程(图文)
- iOS UITableviewCell的重用机制
- UIScrollView(滑动切换图片,图片的循环切换(自动))
- Android酷炫实用的开源框架(UI框架)
- php中的include和require
- Devexpress控件库----ComboBoxEdit,MRUEdit,SearchContrl控件对比
- 【RequireJS 学习笔记】RequireJS 学习笔记 1 —— RequireJS 界的 Hello World
- 【RequireJS 学习笔记】RequireJS 学习笔记 1 —— RequireJS 界的 Hello World 2015-08-05 17:52 1人阅读 评论(0) 收藏
- AddressBookUI Framework in iOS9 beta4