繁体   English   中英

移动子视图时,如何在其超视图中将其子视图保留在同一位置?

[英]When moving a subview around, how do I keep a subview of it in the same place in its superview?

这是一个非常令人费解的标题。 抱歉。

基本上,我有一个UIView ,我已经附加到UITableViewCell所以我可以滑动单元格,或至少创建它的幻觉 - 幻觉。 UIView我有一个UIImageView 我想保持这个UIImageView相对于视图控制器静态。 所以基本上当我滑动单元格时,我希望用手指滑动单元格的所有内容(我已完成)除了UIImageView 我希望用户觉得它似乎停留在一个地方 - 这意味着单元格的超级视图(视图控制器的视图)它停留在一个地方。

构建这个最简单的方法是什么? 对不起,我没有代码要分享,我只想先从概念层面构建这个代码。 我在UITableViewCell上的UIView滑动了一个UIPanGestureRecognizer并移动了UIView的帧,如果这有帮助的话。

UIView移动时,我是否必须将它向UIView的相反方向移动(比如它在x中向前移动一个,在x中向后移动一个?)或者有一种方法可以说“锁定相对于你的位置”超上海华“?

我之前遇到过同样的问题..我所做的只是不将UIImageView作为子视图添加到UITableViewCell ,而是将其附加到UITableViewCell的父级..这样就可以了解UITableViewCell框架属性(即大小)或来源)不会影响你的UIImageView ..

您可能想知道:我将UIImageView作为子视图附加到tableCell的原因之一是b / c它以多种不同的方式与它相关。对此的响应是您可以通过objc_setAssociatedObject将对象与另一个对象关联

如果您来自web dev背景,您可以将此讨论视为position:absoluteposition:relative之间的区别position:relative讨论。

最初我试图做你想到的事情,基本上是朝着相反的方向移动它们。我只是认为我的解决方案要简单得多。

abood很接近,但接近,但是如果你只是让imageview成为单元格本身的子视图而不是我在单元格上添加的UIView,它们就会独立运行。 因此,与第一行相反,将其添加为UITableViewCell的子视图非常有效,并且没有列出任何问题。 现在工作得很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM