【发布时间】:2011-08-13 10:51:09
【问题描述】:
好吧,我有一个图像,我希望当我触摸它然后移动手指时它会跟随它。但我希望它像垂直滚动视图一样仅垂直跟随它(但我不想使用滚动视图) .请问我该怎么做。对不起我的英语我是法国人:/
【问题讨论】:
标签: iphone xcode uiscrollview touch
好吧,我有一个图像,我希望当我触摸它然后移动手指时它会跟随它。但我希望它像垂直滚动视图一样仅垂直跟随它(但我不想使用滚动视图) .请问我该怎么做。对不起我的英语我是法国人:/
【问题讨论】:
标签: iphone xcode uiscrollview touch
为什么不为显示图像的视图子类化 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)];
}
【讨论】:
看看苹果的MoveMe sample。这应该给你一个想法。如果只希望它垂直移动,只需在拖动时更改 y 值即可。
【讨论】:
只需向图像父视图添加平移手势并移动 image.center (仅在您的情况下为 y )就足够了。查看apple documentation了解更多详情
【讨论】: