在运行时设置UICollectionView框架

时间:2016-06-29 09:15:18

标签: ios swift uicollectionview cgrectmake

我正在尝试在运行时设置UICollectionView的框架。

我尝试使用

mainCollectionView.frame = CGRect(x: 20, y: 20, width: self.view.frame.width-20, height: self.view.frame.width-20)

在我的viewDidLoad中,但遗憾的是,它始终与IB一样。 我还没有使用constraints

否则调整我的单元格大小正在cellForItem

 collectionCell.frame.size.width = self.view.frame.width/8 * 3

3 个答案:

答案 0 :(得分:1)

尝试在$('#bank_name_input').change(function(){ var val = $('#bank_name_input').val(); var controllerpath = $("#uri_hidden").val(); jQuery.ajax({ type:"POST", url: controllerpath, data:{'uid':val}, success:function(response) { console.log(response); }, }); });

中设置框架

答案 1 :(得分:0)

你写高度是错误的,因为你设置了高度宽度。

尝试不带导航栏的这一行:

 mainCollectionView.frame = CGRect(x: 20, y: 20, width: UIScreen.mainScreen().bounds.size.width - (20 * 2), height: UIScreen.mainScreen().bounds.size.height - (20 * 2))

答案 2 :(得分:0)

在LayoutSubviews替代之一中运行以下命令。这将告诉集合视图更新其框架。

   override func viewWillLayoutSubviews() {
        super.viewWillLayoutSubviews()
        mainCollectionView.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height)
        mainCollectionView.collectionViewLayout.invalidateLayout()
    }