首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UICollectionViewCell自动编程布局

UICollectionViewCell自动编程布局
EN

Stack Overflow用户
提问于 2016-06-26 17:05:53
回答 1查看 2.2K关注 0票数 1

我试图以编程的方式创建一个UICollectionViewCell子类。我试图创建与自动布局支持。

我想要一个UIView到单元格的content视图,并添加前导、顶部、尾部和底部约束。但是当我这样做的时候,我的UIView's宽度和高度保持为零。下面是我在initWithFrame方法中的代码:

代码语言:javascript
复制
    self.contentView.translatesAutoresizingMaskIntoConstraints = NO;
    _someView = [[UIView alloc] initWithFrame:CGRectZero];
    _someView.translatesAutoresizingMaskIntoConstraints = NO;
    [self.contentView addSubview:_someView];
    NSArray *horizontalConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-2-[someView]-2-|" options:0 metrics:nil views:@{@"someView" : _someView}];
    NSArray *verticalConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-2-[someView]-2-|" options:0 metrics:nil views:@{@"someView" : _someView}];

    [self.contentView addConstraints:horizontalConstraints];
    [self.contentView addConstraints:verticalConstraints];

下面是UI调试器的截图:

为什么这些约束会变灰呢?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-05 18:33:41

contentView是由UICollectionViewCell拥有的,因此执行此操作

self.contentView.translatesAutoresizingMaskIntoConstraints = NO;

破坏单元格中的布局。

对于您拥有的任何子视图并将其添加到content视图中,这样做是完全合理的,但是如果对您不拥有的视图进行处理,则会有破坏布局的风险。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38041010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档