【问题标题】:move an image with touching like a scrollview像滚动视图一样通过触摸移动图像
【发布时间】:2011-08-13 10:51:09
【问题描述】:

好吧,我有一个图像,我希望当我触摸它然后移动手指时它会跟随它。但我希望它像垂直滚动视图一样仅垂直跟随它(但我不想使用滚动视图) .请问我该怎么做。对不起我的英语我是法国人:/

【问题讨论】:

    标签: iphone xcode uiscrollview touch


    【解决方案1】:

    为什么不为显示图像的视图子类化 UIScrollView?如果你这样做很简单:定义它的大小,使水平长度不超过屏幕长度。如果您允许将设备/视图旋转为横向,您还必须记住更改此设置。假设你的 UIScrollView 的宽度是 320,你会这样做:

    CGSize scrollableSize = CGSizeMake(320, myScrollableHeight);
    [myScrollView setContentSize:scrollableSize];
    

    myScrollableHeight 是图片的全高。

    我从未使用过它,但如果这不起作用,显然有一种方法可以为您的 UIScrollView 类提供,每当用户尝试滚动时都会调用该方法,而您不能在那里调整 X 坐标:

    float oldX; // make this ivar in your .h file
    
    - (void)scrollViewDidScroll:(UIScrollView *)aScrollView
    {
        [aScrollView setContentOffset: CGPointMake(aScrollView.contentOffset.y, oldX)];
    }
    

    【讨论】:

      【解决方案2】:

      看看苹果的MoveMe sample。这应该给你一个想法。如果只希望它垂直移动,只需在拖动时更改 y 值即可。

      【讨论】:

      • 但是如何“如何在拖动时更改 y 值”我不太明白
      【解决方案3】:

      只需向图像父视图添加平移手势并移动 image.center (仅在您的情况下为 y )就足够了。查看apple documentation了解更多详情

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-30
        • 2012-10-06
        相关资源
        最近更新 更多