IOS让图片居中

问题的描述如下:
要显示一张图片,也只需要显示一张图片,该图片可能很大,也可能很小,但是要允许手势放大缩小和移动,所以就把它放在UIScrollView里。
一开始显示时,如果是大图片就要把它缩小成适合屏幕大小(使用ScrollView缩小),因为图片的长宽比例不可能总是跟屏幕的大小刚好一致,所以总会有一边有多余的空间,现在的问题是使用ScrollView缩小后,图片要么靠左边要么靠上边,我想要的是让图片居中显示,并且不影响ScrollView的使用。
完美解决代码:

-(UIView *)viewForZoomingInScrollVi
ew:(UIScrollView*)scrollView_
{
      returnimgView;
}

//让图片居中
- (void)scrollViewDidZoom:(UIScrollView *)aScrollView
{
      CGFloatoffsetX = (scrollView.bounds.size.width >scrollView.contentSize.width)?
      (scrollView.bounds.size.width - scrollView.contentSize.width) * 0.5: 0.0;
      CGFloatoffsetY = (scrollView.bounds.size.height >scrollView.contentSize.height)?
      (scrollView.bounds.size.height - scrollView.contentSize.height) *0.5 : 0.0;
      imgView.center = CGPointMake(scrollView.contentSize.width * 0.5 +offsetX,
                                                                    scrollView.contentSize.height * 0.5 + offsetY);
}

找了个很全的例子,里面有大小图,有旋屏: 点击下载

参考网站 http://stackoverflow.com/questions/1316451/center-content-of-uiscrollview-when-smaller
参考网站: http://blog.sina.com.cn/s/blog_6ae8b50d0100v8q3.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值