本文共 1898 字,大约阅读时间需要 6 分钟。
代码创建ScrollView和UIImageView
// ViewController.m#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UIScrollView *scrollView = [[UIScrollView alloc] init]; // 设置scrollview大小为全屏 375*667(4.7吋屏幕) scrollView.frame = self.view.bounds; [self.view addSubview:scrollView]; // 创建imageview对象,并且初始化的时候指定大小为图片的大小 UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ab179aaejw1f44f5h8np9j23402c0kjl"]]; [scrollView addSubview:imageView]; // 设置可滚动范围为图片的大小 scrollView.contentSize = imageView.image.size; // 设置界面刚显示出的时候,图片自带偏移 scrollView.contentOffset = CGPointMake(0, -64); // 设置top留白64 scrollView.contentInset = UIEdgeInsetsMake(64, 0, 0, 0);}@end
由代码可知,ScrollView的大小与屏幕相等,为375*667
滑动总结:
so.经过多次的验证,滑动只会改变ScrollView的bounds 既通过改变ScrollView自身的原点来改变子控件的位置 注:bounds我们通常用于修改大小,如果修改了x,y对自身不会发生什么影响 只会影响子物体所参照的父对象原点,默认原点是自身的左上角,修改bounds的x,y后自身原点会发生位移,x,y都大于0的时候,向左上角方向移动,与frame恰好相反