从UIPopOverController中的UIScrollView拖放UIView到主UIViewController?

时间:2011-10-06 23:46:49

标签: iphone ios ipad uipopovercontroller uigesturerecognizer

好的,我无法正常工作。如果有人成功地做到了这一点,并且愿意分享这些代码,那么我将永远为你负债!

这就是我要做的......

我有一个主ViewController,我从中创建了我的UIPopoverController。这个PopOverController包含一个包含UIImageViews的View。这些UIImageViews是在我的PopOverController的viewDidLoad方法中以编程方式创建的。我试图让UIView从我的PopOverController中的popoverView平移到呈现PopOverController的主ViewController。

我得到了它的工作......

当平移UIImageView时,我创建一个UIWindow并将该UIImageView作为子视图添加到新窗口。然后我可以在PopOverController外部平移UIImageView,并在Gesture结束状态下,从我创建的窗口中删除UIImageView并将其添加到keyWindow。但是,当我这样做时,UIImageView逆时针旋转,并且该视图/窗口的平移不会从手指开始。我不确定为什么会发生这种情况。我确信这两个问题都是我错过的主要问题的一部分。

我做了一个单独的项目,只有我无法正常工作的部分。如果你感到无聊并且感受到让它发挥作用的挑战..这是下载项目的link

1 个答案:

答案 0 :(得分:0)

我还没有完全解决你的问题,但我看了一下项目,我解决了没有旋转的UIImageView最初出现在正确位置的问题(在你的设置中)。转换矩形时需要使用该块的superview,即(popupcontroller.m中的第72行)

newPiece.frame = [piece.superview convertRect:piece.frame toView:dragAndDropWindow]; 

希望这有点帮助。