UITable框架中的UIView框架大小未更新(使用约束)

时间:2018-12-29 02:43:07

标签: ios swift uicollectionviewcell nslayoutconstraint

因此,我正在将UIViewViewCell内的collectionView对齐,但是一旦启动该应用程序,它将显示故事板UITableViewCell的宽度,而不是实际的iPad应用程序本身的宽度(一旦我开始滚动,它就会改变)。这是我当前的代码

collectionView.frame.origin.x = collectionView.superview!.frame.width;
print(collectionView.superview!.frame.width)

该应用程序将打印此内容,一旦我开始滚动,它将开始打印728。

335.0
335.0
335.0
335.0
335.0
728.0
728.0
728.0

所以我的问题是,为什么会发生这种情况?如何在对齐collectionView时确保始终获得728宽度?

有些图片可以帮助您(蓝色背景为 collectionView ,红色背景为 collectionView.superview

Image of my Storyboard

Image of my app after launching it

Image of my app after scrolling down

1 个答案:

答案 0 :(得分:0)

第一次运行时

print(collectionView.superview!.frame.width)

它将打印情节提要的封装高度= 335,这是您开发布局以访问vc右侧宽度的iphone宽度

override func viewDidLayoutSubviews()
 super.viewDidLayoutSubviews()
  // print here
}

或在单元格内

override func layoutSubviews()
 super.layoutSubviews()
  // print here
}