Ios ViewDidLayoutSubView旋转时的问题

Ios ViewDidLayoutSubView旋转时的问题,ios,swift,ios8,Ios,Swift,Ios8,我正在用iOS 8/Swift编写一个应用程序,屏幕上有一个视图和一个UICollectionView(下面的屏幕截图)。虽然我使用自动布局来确保它们居中,但我也在点击viewdilayoutsubviews()以使视图中的7个标签分散在整个页面上(并手动进行布局) 更具体地说,我正在尝试将uicollectionview中的列除以7(分散在7列中以表示日历中一周中的每一天),然后将视图中的标签也除以7,以便它们与列匹配以显示一周中的哪一天。基本上,我想要像日历一样的列标题 这在第一次使用时效果

我正在用iOS 8/Swift编写一个应用程序,屏幕上有一个视图和一个
UICollectionView
(下面的屏幕截图)。虽然我使用自动布局来确保它们居中,但我也在点击
viewdilayoutsubviews()
以使视图中的7个标签分散在整个页面上(并手动进行布局)

更具体地说,我正在尝试将uicollectionview中的列除以7(分散在7列中以表示日历中一周中的每一天),然后将视图中的标签也除以7,以便它们与列匹配以显示一周中的哪一天。基本上,我想要像日历一样的列标题

这在第一次使用时效果很好。你可以在这里看到:

这是我的密码:

override func viewDidLayoutSubviews()
{
    super.viewDidLayoutSubviews()    
    var labelWidth = (self.view.frame.size.width / 7.0) // view.frame? view.bounds?
    var labelIndex: CGFloat = 0
    var dayHeaders: [UILabel] = [lblSunday, lblMonday, lblTuesday, lblWednesday, lblThursday, lblFriday, lblSaturday]

    //Iterate through each label (day of the week) and change its x position accordingly
    for dayHeader in dayHeaders
    {
        //Loop through each label of the week, and incrementally make it's x position further to the right so it spreads out across each column in my uicollection
        (dayHeader as UILabel).frame = CGRectMake(labelWidth * labelIndex, 0, labelWidth, weekHeaderViews.frame.height);

        //Update the index responsible for helping to change a label's x position
        labelIndex++
    }

    self.view.setNeedsLayout() //these didn't work btw
    self.view.layoutSubviews() //these didn't help btw
} 
请注意一周中每天的列是如何与
UICollectionView
中的单元格对齐的

但一旦我旋转页面,然后再旋转回来,它看起来就不一样了。视图的宽度在某种程度上有所不同,标签的间距也不相同。无论我来回旋转它多少次,直到我关闭应用程序之前,它的间隔永远是错误的

你认为发生了什么?我能做些什么来解决这个问题?我应该尝试将所有内容移动到自动布局并添加约束,还是有更简单的解决方案