Objects-C滚动的实现

首先我们需要一个滚动视图的类属性,UIScrollView是滚动视图的类方法名。

通过UIScrollView新建一个对象

UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0,0,375,667)];

在最后这个小括号里写的是一个UIScrollView这个类低下scrollView这个对象的位置和大小。

小括号里的0,0表示的是这个滚动视图需要在父视框显示的起始位置,也就是说它需要从那个点开始来建立一个多大的滚动视图框架的定点,后面这个375,667指的是一个从刚才在父视框里面定的那个点来创建一个宽是375和高是667的一个滚动视图的界面。

框架创建后了以后,这时候我们需要给这个滚动视图设置一个背景颜色该怎么设置呢?

首先我们用这里的UIScrollView的对象scrollView调用UIColor这个类里面backroandcolor这个方法给它改变颜色

那现在我想给它设置一个红色的背景颜色

scrollView.backroandcolor = [UIColor  redcolor];

现在背景颜色就设置好了

这个时候需要给UIScrollView的对象上一张图片

首先需要实例化一个UIImageView(照片的类名)

同样的方法去实例化它和实例化滚动视图一样都需要用CGRectMake去设置它的所在位置和大小

这时候需要注意的是设置这个图片的大小的时候一定要比scrollView这个尺寸要大,要不然我们达不到滚动的效果。

UIImageView *ImageView = [UIImageVIew alloc]initWithFrame:CGRectMake(0,0,1024,2048);

括号里的四个数字和刚才给UIScrollView实例化对象的时候一样,都是固定他的位置和大小。

ImageView.image = [UIImage  imageNamed:@"图片的名字"];

这里面有一个叫做内容偏移的方法

需要移的是UIImageView在UIScrollView的对象,所以移的时候用这个对象调用偏移的这个方法

scrollView.contentoffset = CGPointMake(100,100);

在括号里写的这两个100,会出现什么效果呢?

150605_w03n_2829440.png

首先红色的这个位置,尺寸大小都是固定的,它左上角的点也就是0,0点

150727_3YLA_2829440.png

因为我们设置的UIScrollView的对象的位置就是从它的0,0点开始的,所以它会覆盖原来的红色的父视框

151005_yXDV_2829440.png

刚才我们给UIImageView的对象设置偏移的位置是100,100

这时候在UIImageView的对象上的这个小红点就是它的100,100点

151201_L00q_2829440.png

它会把UIImageView对象偏移时设置的位置会移到父视框的0,0点

显示在父视框上的就是这个效果,在红颜色的父视框以外的都不会看见

151456_XNc5_2829440.png

也就是这个效果

若果我们给UIImageView设置偏移量时给的是(-100,-100)的时候它会怎么去偏移呢?

同样的思路

151830_nBPQ_2829440.png

这个时候图片上UIImageView这个对象的左上角这个红色实心的这个点就是UIImageView对象需要偏移的(-100,-100)的位置

152024_1mj2_2829440.png

移完之后就是这个效果,把UIImageView的(-100,-100)的这个点移到父视框的0,0这个点上

152138_2feq_2829440.png

所以移动完成以后就是这个效果,父视框以外的不会看见。

最后添加就行了

[self.view addSubview:对象];

 

 

 

转载于:https://my.oschina.net/j315088037/blog/704578

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值