我是iOS开发的新手。我有一个contentView
UICollectionViewCell
,我想添加另一个视图。我希望将这个新视图拉伸到contentView
边缘。我正在尝试使用AutoLayout实现这一点,所以这就是我所做的:
let view = UIView();
view.backgroundColor = UIColor.yellow
contentView.addSubview(view)
view.translatesAutoresizingMaskIntoConstraints = false
view.topAnchor.constraint(equalTo: contentView.topAnchor).isActive = true
view.bottomAnchor.constraint(equalTo: contentView.bottomAnchor).isActive = true
view.leadingAnchor.constraint(equalTo: contentView.leadingAnchor).isActive = true
view.trailingAnchor.constraint(equalTo: contentView.trailingAnchor).isActive = true
这按预期工作,我得到了我想要的行为。然后我希望contentView
有18个点的填充,所以我想我需要添加常量参数并将其设置为18,如下所示:
view.topAnchor.constraint(equalTo: contentView.topAnchor, constant: 18).isActive = true
view.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: 18).isActive = true
view.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: 18).isActive = true
view.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: 18).isActive = true
我所期待的是,现在新视图的面积将比之前更小,因为它现在从各个方向推出了18个点。我所做的是一个与第一个场景相同大小的视图,它从顶部和左侧推动了18个点并越过contentView
的边界!
你能告诉我我的代码有什么问题吗?
答案 0 :(得分:2)
你的常量都指向同一个方向,因此视图只是偏移。
这应该有效:
<xml>
<access>
<user>
<name>user1</name>
<group>testgroup</group>
<group>testgroup2</group>
</user>
<user>
<name>user2</name>
<group>testgroup</group>
</user>
<access>
</xml>