如何将子视图拖出父视图?
Posted
技术标签:
【中文标题】如何将子视图拖出父视图?【英文标题】:How can I drag a subview out of the parent view? 【发布时间】:2015-06-23 08:53:36 【问题描述】:所以在我的应用程序中,我有一个UIImageView[1]
,它占据了屏幕的上半部分。我还有一个 TapGesture 识别器,它添加了UIImageView[2]
作为UIImageView[1]
的子视图。
在我的应用程序的下半部分,我有另一个 UIImageView[3]
我需要 UIImageView[2]
才能与之交互。
但是,当我将UIImageView[2]
拖到UIImageView[1]
的框架之外时,它显然会消失。
我想知道是否有人知道我可以将UIImageView[2]
拖到UIImageView[3]
而不会使UIImageView[2]
消失,同时仍保持UIImageView[1]
的框架。
我尝试调整 UIImageView[1]
的大小以仅包含整个屏幕,但由于我使用的是 Aspect Fit,它使图像居中,如果我使用左上对齐的东西,它的宽高不适合它。
【问题讨论】:
【参考方案1】:试试这个禁用子视图剪辑:
[parentView clipsToBounds:NO];
【讨论】:
这可行,但是如果我再次拖动图像,即使启用了 UserInteraction,我也无法再次触摸它。有任何想法吗?感谢您迄今为止的帮助!【参考方案2】:尝试以下操作将UIImageView[2]
拖动到视图中的任何其他位置
[self.view addsubview: UIImageView[2]];
【讨论】:
这行得通,让我在视图之外触摸它,但它使一些 CGRectIntersectsRect 语句我的行为非常奇怪(即使两者没有接触,它也会调用语句)。有任何想法吗?感谢您的帮助! 这个抱歉我忘了加。 if (CGRectIntersectsRect(UIImageView[2], UIImageView[3].frame) || (CGRectEqualToRect(UIImageView[2], UIImageView[3].frame)) UIImageView *selectedimage = [_myArray objectAtIndex:0]; [selectedimage removeFromSuperview] ; @Pecans 如果您编辑您的问题并添加以上行会更好,这也将有助于其他人更好地理解您的问题。以上是关于如何将子视图拖出父视图?的主要内容,如果未能解决你的问题,请参考以下文章