私はデバイスを回転させるたびに私のcollectionViewCellsのサイズを変更しようとしていますが、どのようにそれを把握できません。ここに私の問題と私のコードです。これは、スウィフト3とXcodeでだ8.デバイスの回転時にUICollectionViewを自動サイズ変更する方法は?
をロードし、最初の画面です私は、デバイス一方、セルのまだ持って同じ幅、高さ
、場合回転したときに、私デバイスが回転しているときにfirstScreen(HomePage)をロードしてから、デバイスをPortraitにもう一度回転させると、セルがオーバーフローするので、それらの側面が見えなくなります。横幅は横幅と同じですから。
最後に、私はMain.storyboardで自動レイアウトを使用しませんでした。ここでHomeCollectionViewCellクラス
private func setupViews() {
addSubview(imageView)
addSubview(textView)
addSubview(separatorView)
addSubview(dateView)
addConstraintsWithFormat(format: "H:|-16-[v0]-16-|", views: imageView)
addConstraintsWithFormat(format: "V:|-16-[v0]-8-[v1(40)]-2-[v2(20)]-8-|", views: imageView, textView, dateView)
addConstraintsWithFormat(format: "H:|-16-[v0]-16-|", views: textView)
addConstraintsWithFormat(format: "H:|-16-[v0]-16-|", views: dateView)
addConstraintsWithFormat(format: "H:|[v0]|", views: separatorView)
addConstraintsWithFormat(format: "V:[v0(1)]|", views: separatorView)
}
よろしくで私setupViews()メソッドです。
を解決!: Iは(fromInterfaceOrientationから:UIInterfaceOrientation)didRotate FUNCこの方法の代わりに、オーバーライドを使用
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransition(to: size, with: coordinator)
collectionView?.collectionViewLayout.invalidateLayout()
}
ストーリーボードまたはペン先の自動レイアウトを使用していますか? –
ソリューションをありがとう、これは私のために働いた - 迅速3 xcode 8.3.1展開ターゲットiOS 10.0 – Jeeves