从UICollectionViewCell到ViewController查看的自动布局约束

时间:2014-02-06 05:41:49

标签: ios xcode uicollectionview autolayout uicollectionviewcell

我有UICollectionView可以水平滚动。 它的单元格我想从ViewController中为主视图添加约束。

因为这是UICollectionView的单元而不是他的子视图,xcode报告层次结构错误的错误。怎么做那样的事?

编辑:

我想要的目的或效果是这样的:

我有UICollectionView水平滚动。此集合视图的单元格是屏幕页面。在那个屏幕上是标签。 当用户在集合视图中滚动页面时,我希望该标签将滚动到停留在屏幕的屏幕的左/右边缘,并与另一页面一起消失。类似于组表视图节标题但是水平的。

enter image description here

2 个答案:

答案 0 :(得分:1)

感谢大家的回答,但对我没什么用。 我所做的是创建2个约束:

cell.left equal label.left : priority 499
cell.right greateOrEqual label.right

我在滚动移动中保存了左边约束:

- (void) scrollOffsetChange: (CGPoint) offset
{
    int x = abs(((int)offset.x%(int)self.frame.size.width));
    self.topLableLeftConstraint.constant = x;
    self.topLabels.alpha = 1 - (x/self.frame.size.width)*(x/self.frame.size.width);
    [self layoutIfNeeded];
}

我甚至结束了消失的效果。

答案 1 :(得分:0)

而不是试图将这些标签作为细胞的一部分,听起来你最好不要将它们实现为补充观点 - 它们是UICollectionViewFlowLayout用于其部分的内容页眉和页脚。

您需要实现一些方法来提供视图本身以及它们的布局属性。以下是Apple文档中一些相关参考资料的链接:https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/CollectionViewPGforIOS/CreatingCustomLayouts/CreatingCustomLayouts.html#//apple_ref/doc/uid/TP40012334-CH5-SW7