// 1.签订ScrollView的条约
@interface MainViewController : UIViewController<UIScrollViewDelegate>
@property (nonatomic, retain)UIPageControl *page;
@end
#import "MainViewController.h"
@interface MainViewController ()
@end
@implementation MainViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
// 滚动视图
UIScrollView *scrllView = [[UIScrollView alloc] initWithFrame:CGRectMake(20, 20, 300, 400)];
scrllView.backgroundColor = [UIColor brownColor];
// 设定滚动内容的范围(CGSize)
scrllView.contentSize =CGSizeMake(2000, 0);
// 偏移量(CGPoint)
// scrllView.contentOffset = CGPointMake(-100, -100);
//内容距离 上左右下边缘的距离
scrllView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);
// 关闭边缘的弹动效果
scrllView.bounces = YES;
// 滑动到顶部
scrllView.scrollsToTop =YES;
//整屏翻动
scrllView.pagingEnabled =YES;
// scrollView能不能滚动
scrllView.scrollEnabled = YES;//NO-不能滚动
//是否显示横向的滚动条
scrllView.showsHorizontalScrollIndicator = YES;
// 2.将viewController设置为ScrollView的 代理人
scrllView.delegate = self;
[self.view addSubview:scrllView];
[scrllView release];
// scrollView的缩放
// 缩放:1.设置scrillView的缩放范围
scrllView.minimumZoomScale = 0.5;// 最小范围
scrllView.maximumZoomScale = 2; // 最大范围
// 设置缩放时是否反弹
scrllView.bouncesZoom = YES;
// 在scrollView上添加一个图片视图(UIImageView)
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 280, 400)];
imageView.image = [UIImage imageNamed:@"g"];
[scrllView addSubview:imageView];
[imageView release];
UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(20, 350, 300, 60)];
// 显示多少个点
pageControl.numberOfPages = 6;
pageControl.pageIndicatorTintColor = [UIColor blackColor];
pageControl.currentPageIndicatorTintColor = [UIColor cyanColor];
// 给pageControl 添加 响应方法
[pageControl addTarget:self action:@selector(pageControlAciton:) forControlEvents:(UIControlEventValueChanged)];
[self.view addSubview:pageControl];
[pageControl release];
// 方便在其他方法中调用pageControl
self.page = pageControl;
}
- (void)pageControlAciton:(UIPageControl *)pageControl
{
NSLog(@"%d", pageControl.currentPage);
}
// 缩放的协议方法
// 缩放2.设置一个视图 随着scrollView放大缩小
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return [scrollView.subviews firstObject]; // 把第一个子视图随着scrollView 缩放
}
// 3.实现代理方法(协议方法)
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
// //只要scrollView 滚动 就会触发这个方法
// NSLog(@"%s",__FUNCTION__);
//
// // scrollView的偏移量变化
// NSLog(@"%@", NSStringFromCGPoint(scrollView.contentOffset));
//
//
// // 判断scrollView的当前的页数
// // 偏移量.x/ scrollView宽度
// int pagNumber = scrollView.contentOffset.x /scrollView.frame.size.width;
//
// NSLog(@"页数: %d", pagNumber);
// NSLog(@"%f", scrollView.contentOffset.x/280);
//当前scrollView滚动到的页数
self.page.currentPage = scrollView.contentOffset.x/ scrollView.frame.size.width;
}
// 开始拖拽的时候
//- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
//{
// NSLog(@"开始拖拽%s", __FUNCTION__);
//
//}
结束拖拽的时候
//- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
//{
// NSLog(@"结束拖拽%s", __FUNCTION__);
//
//}
//
开始减速的时候
//- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
//{
// NSLog(@"开始减速%s", __FUNCTION__);
//}
结束减速的时候
//
//- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
//{
// NSLog(@"结束减速%s", __FUNCTION__);
//
//}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end