我在简单的层次上获得框架/边界。仍试图向上移动到一个更高级的使用...我可以让我的UIView的框架与其祖父母相匹配吗?
我有,看起来像一个视图堆栈:
的UICollectionViewCell
实际上是我自己的子类。我已将它的selectionBackgroundView
设置为股票UIView
,并在选择时切换hidden
属性。该容器视图包含一个或多个我自己的MyAnnotationView
实例。他的目的是为细胞注释。但是他所做的大部分绘图实际上围绕着单元格视图的bounds
。
对于可能位于UICollectionView
中的任意位置的单元格,他的frame
和bounds
将以正常方式(分别相对于父代和本地)有所不同。在UIView
及其子视图(MyAnnotationView实例)的情况下,它们的框架和边界将是相同的,因为它们彼此重合。
但是,为了使MyAnnotationView在他注释的单元周围进行绘制,他需要知道单元框架。 IOW,我希望它的0,0点与单元格的相同,但是如果我可以参考他的框架,并且它与单元格的值相同,我会喜欢它。那么可以通过这种方式配置该视图的框架/边界吗?或者我必须进行硬编码搜索,例如
self.superview.superview.frame
红线是我可以做的一个简单的例子,如果我新注解视图的框架。我会从注记边界的左边中间的一条线到框架的左边的x,以及相同的y值。
也许这个问题的更一般的版本是,是否有一种(简单)的方式来同步绘图的注释视图的坐标系统与UICollectionView的坐标系统,但仍然要知道它的框在附近注解,在?
什么是你试图在注释中绘制父类的applyLayoutAttributes?为什么你需要知道上面层次结构中的位置?为什么局部范围不够? –
有时我会绘制边缘的连接。此外,还会绘制一些对等连接,一旦知道该帧,就可以计算出这些连接。 –
但是你不能在本地绘制它们吗?你能否为你的问题添加一个这样的注释插图? –