zoukankan      html  css  js  c++  java
  • UIScrollView中图片放大后不居中,或居中后移动有偏差解决办法

    转自:http://blog.sina.com.cn/s/blog_6ae8b50d0100yret.html

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

    -(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView_
    {
        return imgView;
    }

    //让图片居中
    - (void)scrollViewDidZoom:(UIScrollView *)scrollView
    {
        CGFloat offsetX = (scrollView.bounds.size.width > scrollView.contentSize.width)?
        (scrollView.bounds.size.width - scrollView.contentSize.width) * 0.5 : 0.0;
        CGFloat offsetY = (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

    参考网站:http://www.haogongju.net/art/1895617

  • 相关阅读:
    树的直径
    POJ3264 Balanced Lineup
    [mock]10月11日
    POJ1062 昂贵的聘礼
    POJ3295 Tautology
    [topcoder]TopographicalImage
    POJ1753 Flip Game
    [leetcode]Copy List with Random Pointer
    [leetcode]Candy
    [leetcode]Gas Station
  • 原文地址:https://www.cnblogs.com/wangpei/p/4062733.html
Copyright © 2011-2022 走看看