从UIScrollView中删除视图

时间:2009-01-29 22:19:22

标签: cocoa-touch

我有两个UIScrollViews,我之间移动图像。用户可以在滚动视图之间来回拖动。我试图动画图像从一个滚动视图到另一个滚动视图的运动。在-touchesMoved(在我的UIViewController中处理,它有两个自定义UIScrollViews拦截触摸并发送到我的UIViewController),我试图设置我正在移动的UIImageView的“中心”。移动时,图像隐藏在UIScrollView后面,不可见。如何让它出现在UIScrollView的顶部?我可以通过在目标滚动视图中设置动画来正确处理-touchesEnded

我也对iPhone编程指南中的-convertPoint:fromView:用法感到困惑(参见第3章,事件处理)。如果触摸坐标在窗口坐标中,要更改我的视图(在UIVcrollView内部的UIVmageView,在UIView内部和窗口内),我不必使用-convertPoint:toView:,即

imageView.center = [self.view.window convertPoint:currentTouchPosition toView:imageView];

我错过了什么?

3 个答案:

答案 0 :(得分:0)

您可以使用方法 - (void)bringSubviewToFront:(UIView *)视图,使图像视图成为最前面的视图。

约翰

答案 1 :(得分:0)

这取决于您构建视图的方式。如果scrollviews和imageview都处于同一级别,它应该可以工作。如果imageview是其中一个滚动视图的子视图,您可以尝试将滚动视图放在前面。这样,imageview也将被绘制在其他scrollview上。

约翰

答案 2 :(得分:0)

我有一个带有两个ScrollViews的View Controller。图像作为子视图添加。 ScrollViews已经在前面了。我尝试将scrollview带到前面,并将scrollview的imageview带到前面。但不知何故,当我拖动时,图像的中心越过我的其他scrollview2,我也尝试发回。但似乎没有用。这就是我在TouchesMove(在ViewController中)

所做的

view = [[scrollView1 subviews] objectAtIndex:currentImageIndex];

[self.view bringSubviewToFront:scrollView1];

[scrollView1 bringSubviewToFront:view];

[self.view sendSubviewToBack:scrollView2];

scrollView1和scrollView2是两个滚动视图,它们是ViewController视图的一部分。 这有意义吗?

感谢 之功