ios – 使用BringSubviewToFront时图像快照合并

ios – 使用BringSubviewToFront时图像快照合并,第1张

概述我正在制作我的第一个应用程序,就像纸牌游戏一样 – 用户必须移动卡片并将它们堆叠在一起.现在我对Objective-C很新,所以我希望你在我的问题很愚蠢的时候原谅我. 所以我正在尝试一些东西,我有两个UIImageViews,并附有UIPanGestureRecgonizer.因此,每当用户拖动其中一张卡时,它必须位于另一张卡的顶部.我在我的ViewController.m文件中使用下面的代码,但 我正在制作我的第一个应用程序,就像纸牌游戏一样 – 用户必须移动卡片并将它们堆叠在一起.现在我对Objective-C很新,所以我希望你在我的问题很愚蠢的时候原谅我.

所以我正在尝试一些东西,我有两个UIImageVIEws,并附有UIPanGestureRecgonizer.因此,每当用户拖动其中一张卡时,它必须位于另一张卡的顶部.我在我的VIEwController.m文件中使用下面的代码,但问题是,当我拖动一张卡然后想要拖动另一张卡时,第一张卡片会快速回到原来的位置,但我希望它留在原处我拖了它.当我注释掉bringSubvIEwToFront时,这不会发生,但其中一张牌总是留在另一张牌后面.

-(IBAction)dragCard:(UIPanGestureRecognizer *)recognizer {UIVIEw *cardVIEw = [(UIPanGestureRecognizer *)recognizer vIEw];[self.vIEw bringSubvIEwToFront:cardVIEw];CGPoint translation = [recognizer translationInVIEw:self.vIEw];recognizer.vIEw.center = CGPointMake(recognizer.vIEw.center.x + translation.x,recognizer.vIEw.center.y + translation.y);[recognizer setTranslation:CGPointZero inVIEw:self.vIEw];}

我无法弄清楚造成这种情况的原因.你能帮我么…

编辑:我记录了self.vIEw.subvIEws以显示正在发生的事情.我用标签1拖动图像,现在我开始用标签2拖动图像.您可以看到两个坐标都发生了变化 – 标签1的图像移回原始位置,标签2的图像也移动:

2013-05-16 17:02:20.424 ("<UIImageVIEw: 0x71749e0; frame = (0 0; 320 411); autoresize = TM+BM;    userInteractionEnabled = NO; layer = <CALayer: 0x7174a40>>","<UIImageVIEw: 0x7172ef0; frame = (25 77; 42 58); autoresize = TM+BM; tag = 1; gestureRecognizers = <NSArray: 0x7171700>; layer = <CALayer: 0x7171620>>","<UIImageVIEw: 0x71722f0; frame = (88 200; 42 58); autoresize = TM+BM; tag = 2; gestureRecognizers = <NSArray: 0x7171bc0>; layer = <CALayer: 0x7172350>>"2013-05-16 17:02:20.441 ("<UIImageVIEw: 0x71749e0; frame = (0 0; 320 411); autoresize = TM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x7174a40>>","<UIImageVIEw: 0x7172ef0; frame = (30 177; 42 58); autoresize = TM+BM; tag = 1; gestureRecognizers = <NSArray: 0x7171700>; layer = <CALayer: 0x7171620>>","<UIImageVIEw: 0x71722f0; frame = (91 201; 42 58); autoresize = TM+BM; tag = 2; gestureRecognizers = <NSArray: 0x7171bc0>; layer = <CALayer: 0x7172350>>"

第一个ImageVIEw是我的背景图片.

解决方法 好的,找到了答案 here.这是一个带有子视图ToFront和autolayout的问题.抱歉重复这个问题. 总结

以上是内存溢出为你收集整理的ios – 使用BringSubviewToFront时图像快照合并全部内容,希望文章能够帮你解决ios – 使用BringSubviewToFront时图像快照合并所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1020805.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存