Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 是否可以将UICollectionViewCell用作自动布局约束项?_Ios_Uicollectionview_Autolayout_Uicollectionviewcell - Fatal编程技术网

Ios 是否可以将UICollectionViewCell用作自动布局约束项?

Ios 是否可以将UICollectionViewCell用作自动布局约束项?,ios,uicollectionview,autolayout,uicollectionviewcell,Ios,Uicollectionview,Autolayout,Uicollectionviewcell,我有一个视图控制器,其视图包含UICollectionView和UIImageView UICollectionView和image视图在UIViewController的托管视图中是同级的。当用户滚动UICollectionView时,UIImage有时会附着到其中一个UICollectionViewCell项的底部 我正在将项目转换为使用自动布局,能够使用约束将UIImageView附加到UICollectionViewCell的底部,我感到非常兴奋。然而,它似乎不起作用 当代码检测到相关U

我有一个视图控制器,其视图包含UICollectionView和UIImageView

UICollectionView和image视图在UIViewController的托管视图中是同级的。当用户滚动UICollectionView时,UIImage有时会附着到其中一个UICollectionViewCell项的底部

我正在将项目转换为使用自动布局,能够使用约束将UIImageView附加到UICollectionViewCell的底部,我感到非常兴奋。然而,它似乎不起作用

当代码检测到相关UICollectionViewCell变为可见时,它将从UIImageView中删除以前的定位约束,并添加一个使UIImageView的顶部与UICollectionViewCell的底部相同的约束

当这种情况发生时,UIImageView就会消失。我认为它是在单元格可见之前连接到UICollectionViewCell的,但没关系,它应该随之滚动到视图中。那是不会发生的

所以我的问题是。。。这能行吗?在我看来,UICollectionView很有可能使用老式的中心/边界系统管理其项目。特别是在查看UICollectionViewLayout协议时。这是否意味着我不能将约束附加到UICollectionViewCell,并期望在集合视图中移动单元格时更新约束

我在下面附上相关代码,以防这是一个简单的编码问题,而不是更高级别的“你要回到绘图板”问题

    if([collectionView.indexPathsForVisibleItems containsObject:self.sliderPositionIndex]){
    UICollectionViewCell *lockedCell=[collectionView cellForItemAtIndexPath:self.sliderPositionIndex];
    [self.view removeConstraint:self.sliderVerticalSpaceConstraint];
    self.sliderVerticalSpaceConstraint=[NSLayoutConstraint constraintWithItem:self.sliderTab
                                                                      attribute:NSLayoutAttributeTop
                                                                      relatedBy:NSLayoutRelationEqual
                                                                         toItem:lockedCell
                                                                      attribute:NSLayoutAttributeBottom
                                                                     multiplier:1
                                                                       constant:0];
    [self.view addConstraint:self.sliderVerticalSpaceConstraint];
    [self.view setNeedsUpdateConstraints];