繁体   English   中英

UICollectionViewCell以编程方式自动布局

[英]UICollectionViewCell Auto Layout Programmatically

我正在尝试以编程方式创建UICollectionViewCell子类。 我正在尝试使用自动布局支持创建。

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

    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调试器的屏幕截图: 在此处输入图片说明

为什么这些约束显示为灰色?

谢谢!

contentViewUICollectionViewCell拥有,因此执行此操作

self.contentView.translatesAutoresizingMaskIntoConstraints = NO;

破坏单元格中的布局。

对您拥有的任何子视图执行此操作并添加到内容视图中是完全合理的,但是将您不拥有的视图弄乱了则有可能破坏布局。

暂无
暂无

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

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