在我的主UIView的底部,我有一个UIScrollView,里面有一个UIImageView。在UIScrollView之外移动一个UIIMageView
我想将UIImageView从UIScrollView移动到我的UIView的顶部。
我可以将我的UIImageView移动到UIScrollView中,但在外面,我不能。 UIImageView保留在UIScrollView中,它是父级。
有什么想法?
在此先感谢您的帮助。
最好的问候,
ALX
在我的主UIView的底部,我有一个UIScrollView,里面有一个UIImageView。在UIScrollView之外移动一个UIIMageView
我想将UIImageView从UIScrollView移动到我的UIView的顶部。
我可以将我的UIImageView移动到UIScrollView中,但在外面,我不能。 UIImageView保留在UIScrollView中,它是父级。
有什么想法?
在此先感谢您的帮助。
最好的问候,
ALX
据我了解,你在代码中的UIImageView添加为UIScrollView的子视图,但以后不能做反向操作。
如果是这样,在UIViewController使用类似:
[yourImageView removeFromSuperview];
[self.view addSubview:yourImageView];
如果没有,添加更多的细节,你的问题......
不要被UI的比喻上当。这些视图实际上并不是物理对象,可以轻松拾取并从一个位置移动到另一个位置。我们用代码创造物理对象的幻觉,这与幻觉的明显运动无关。
做你想做的事情需要一些工作。
意见只在他们的超级意见中画自己。它的框架是由它在超视图中的位置定义的。一旦框架被定义为超级视图之外,它不再绘制自己,并从UI中消失。这就是为什么你不能在任何你想要的地方拖动UIImage。
你将不得不做的是创建一个透明的概述,覆盖滚动视图和目标视图。当用户启动拖动时,您必须从滚动视图中移除UIImageView并将其添加到概览中(或者,隐藏滚动视图UIImageView并在概览中创建副本)。然后,UIImage将在概览中绘制自己,这将创建它被拖出滚动视图的错觉。然后你在目标视图上颠倒拥有者。
您可能想重新考虑一下iPhone的设计。用户在小屏幕上拖动项目非常困难,尤其是如果屏幕本身必须滚动。
[iphone] xcode目的地 – Alx 2011-04-19 20:09:13
它是'-removeFromSuperview',而不是'-removeFromSuperView' ... – 2010-06-06 07:30:42
事情是我想从一个UIScrollView拖动我的UIImageView到我的主UIView。 所以,我必须从UIScrollView中将其删除,然后将其添加到主视图中,如您所说。我在TouchesBegan方法中这样做。 但这还不够。 因为当我拖动图像时,在TouchesMoved方法中,我正在做我认为我应该做的移动图像,但是这种移动是对scrollview的限制。 我不明白我要做什么才能将图像移动到主视图中。图像保持在滚动视图中。 – Alx 2010-06-06 09:42:12
嗯...你的UIImageView不是简单的UIScrollView(因为它的子视图) - 它是scrollview的contentView的子视图。这就是为什么我认为你无法将图像从scrollview移出。我可以建议的唯一解决方案是这样的:在touchesBegan将图像作为主视图的子视图(从滚动视图中移除)并继续使用主视图进行touchesMoved。 – kpower 2010-08-03 09:33:05