UIcollectionView的约束

时间:2017-06-09 00:30:26

标签: ios xcode swift3 swift2

在ViewController中,我使用以下代码插入CollectionView:

HomeMenuView = UICollectionView(frame: self.view.bounds, collectionViewLayout: UICollectionViewFlowLayout())

我想使用可视化格式的约束来在两个对象(Top Image,bottom:button)之间构造CollectionView。

PS:不使用故事板,仅限代码。

2 个答案:

答案 0 :(得分:1)

看看这个很棒的pod,用Swift构建动态漂亮的用户界面,比如老板 - NEON

那里,你可以添加

yourView.alignBetweenVertical(align: .AboveCentered, primaryView: yourTopView, secondaryView: yourBottomView, padding: padding, width: size)

或我提供的链接中的任何其他代码段。一行代码的所有约束。

P.S。我不会用大写字母命名你的对象实例,它不是类名,所以代替HomeMenuView - 称之为homeMenuView,查看代码约定 - RayWanderlichCodeConvention

答案 1 :(得分:0)

我假设您的ImageView已添加并正确设置了所需的约束,还有您的按钮,

self.addSubview(HomeMenuView);
self.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-0-[HomeMenuView]-0-|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: ["HomeMenuView":HomeMenuView,"imageView":self.yourImageView,"button":self.yourButton]));
self.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:[imageView]-0-[HomeMenuView]-0-[button]", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: ["HomeMenuView":HomeMenuView,"imageView":self.yourImageView,"button":self.yourButton]));

我还建议你查看https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/VisualFormatLanguage.html

我希望这会有所帮助