【问题标题】:Dragging an image from a scrollview从滚动视图中拖动图像
【发布时间】:2010-08-20 09:37:39
【问题描述】:

这让我发疯了,我坚持了这么久,仍然可以做我想做的事!

我的观点是这样的:

RootViewController 包含 (UIView)flipView

FlipView 包含 (UiView)firstView

FirstView 包含一个滚动视图和一组图像视图

Scrollview包含一系列自定义的imageViews

由于自定义 UIImageViews touchesBegan 方法中的这一行,我可以左右拖动自定义 imageView,无论我拖动哪个它都会显示在滚动视图中的所有其他自定义 imageView 之上:

[[self superview] bringSubviewToFront:self];

太棒了!但是.....

虽然我可以垂直拖动并且自定义 imageView 根据需要离开滚动视图的边界,但我无法让它出现在 firstview 上的任何图像视图上方?

我还发现,如果我在第一次触摸要拖动的图像视图时显示 point.y 值,它会显示 24,因为我开始向上拖动以将其从滚动视图中取出,它会变为 26,然后保持在该值即使我可以将它一直拖到屏幕顶部,在所有其他图像视图后面?

我显然错过了明显的流血……显然……请帮忙?

谢谢

【问题讨论】:

    标签: iphone image drag imageview scrollview


    【解决方案1】:

    bringSubviewToFront: 只能在该视图中工作,即您的滚动视图需要位于所有其他图像视图的前面,否则它们将覆盖您的滚动视图。 如果您想从滚动视图中删除图像,则可能值得将其删除并在拖动时将其直接添加到您的 firstView 中。

    【讨论】:

    • 感谢您的回复!我明白你对滚动视图的意思是什么,我会试试的。但是,我之前确实想到了您的第二个想法,但不明白如何将拖动原始图像视图的触摸事件转移到新创建的触摸事件?小费会很棒....!谢谢
    • 如果您在图像视图中处理事件,您将留在同一个对象中进行触摸处理。但是考虑一下,我不确定 UIKit 在更改视图层次结构时对触摸的看法。 也许会取消活动,但值得一试。
    • 是的,但我不明白如何制作一个正在移动的图像视图,在它所在的位置创建一个新的图像视图并将触摸转移到新的图像视图?我不确定这可能吗?
    • 没有新的图像视图,只是 [self removeFromSuperview];和 [firstView addSubview:self];
    • 将在几秒钟内尝试您的方法,看起来很有趣!我只是设法用你的第一个想法让它工作,虽然我猜它很乱?从移动的图像视图中调用它: // 将滚动视图移动到顶部 [(CustomScrollView *)[self superview] toTop]; // 现在将移动的图像视图移动到滚动图像视图的顶部 [[self superview] bringSubviewToFront:self];它有效!但民众是否认为这是一种解决方案? :-)
    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多