UIScrollView初始化:
//滚动视图 _myScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height - 44)]; _myScrollView.pagingEnabled = NO; //是否翻页 _myScrollView.showsVerticalScrollIndicator = NO;//不显示垂直方向的滚动条 _myScrollView.bounces = YES;//遇到边框是否反弹 [self.view addSubview:_myScrollView];
添加内容,调整UIScrollView内容宽高:
int len = 10; int i=0; UIImage *image = [UIImage imageNamed:@"bg"]; for (; i<len; i++) { UIImageView *iv = [[UIImageView alloc] initWithFrame:CGRectMake(0,i*210,320,200); iv.image = image; [_myScrollView addSubview:iv]; } CGSize newSize = CGSizeMake(320, i*210); [_myScrollView setContentSize:newSize];
UIScrollView 实现图片缩放,拖拽:
#import <UIKit/UIKit.h> @interface ImageViewController : UIViewController<UIScrollViewDelegate>{ UIImage *image; UIView *myView; UIScrollView *myScrollView; CGFloat imageWidth,imageHeight; CGFloat originalX,originalY,originalW,originalH; CGFloat distStart,distEnd,scale; } @property(nonatomic,strong) UIImage *image; @property(nonatomic,strong) UIView *myView; @property(nonatomic,strong) UIScrollView *myScrollView;@end
@implementation ImageViewController @synthesize image = _image,myView = _myView; @synthesize myScrollView = _myScrollView; - (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = [UIColor whiteColor]; //myscrollview _myScrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 416)]; [_myScrollView setDelegate:self]; [_myScrollView setShowsHorizontalScrollIndicator:NO]; [_myScrollView setShowsVerticalScrollIndicator:NO]; [_myScrollView setMaximumZoomScale:2.0]; [self.view addSubview:_myScrollView]; imageWidth = _image.size.width; imageHeight = _image.size.height; _myView = [MyImage makeViewWithFrame:CGRectMake(0, 0, 320, 416) Image:_image];//此处传入_image获取一个全屏显示的view [_myScrollView setContentSize:CGSizeMake(320, 416)]; [_myScrollView setMinimumZoomScale:1]; [_myScrollView setZoomScale:[_myScrollView minimumZoomScale]]; [_myScrollView addSubview:_myView]; _myView.userInteractionEnabled = YES; //单击_myView UITapGestureRecognizer *singleRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleRecognizer:)]; [_myView addGestureRecognizer:singleRecognizer]; } -(void)singleRecognizer:(id)sender{ NSLog("点击了"); } #pragma UIScrollViewDelegate Methods -(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{ return _myView; }