gpt4 book ai didi

ios - UICollectionReusableView 标题不调整旋转大小 - 约束?

转载 作者:行者123 更新时间:2023-11-28 09:03:41 25 4
gpt4 key购买 nike

我有一个 UICollectionReusableView 用于 UICollectionView 标题部分,代码如下:

        var headingLabel: UILabel!    override init(frame: CGRect) {       super.init(frame: frame)       headingLabel = UILabel(frame: CGRectMake(12.0,12.0,frame.width,21.0))       headingLabel.numberOfLines = 1       headingLabel.textAlignment = NSTextAlignment.Center       headingLabel.textColor = UIColor.blackColor()       self.backgroundColor = UIColor.whiteColor()       self.addSubview(headingLabel)    }

我只希望标题在显示中居中。只要我不旋转设备,就可以了。如果我旋转设备,标签将不再位于屏幕中央。

我的猜测是这非常简单,我似乎找不到答案。我的假设是我可以通过编程方式添加约束,但我不太清楚该怎么做。

或者,我认为可能有一些方法可以强制它在布局更改时重做标题,但我也无法让它工作。

任何指向正确方向的指示都将不胜感激。

Section Header Centered

After Rotation to Portrait

非常感谢。

最佳答案

您必须在 collectionView 重新布局之前使布局无效(这发生在 viewDidLayoutSubviews 中),因此您必须在 viewWillLayoutSubviews 中使它无效。

override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()

// Handle rotation
collectionView.collectionViewLayout.invalidateLayout()
}

关于ios - UICollectionReusableView 标题不调整旋转大小 - 约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31387109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com