[解決済み] StoryboardのプロトタイプセルでUICollectionViewCell contentViewのフレームが自動サイズ調整される問題(Xcode 6, iOS 8 SDK)がiOS 7のみで発生する
質問事項
Xcode 6 Beta 3、iOS 8 SDKを使用しています。ビルドターゲット iOS 7.0 using Swift. 私の問題のステップバイステップを、以下のスクリーンショットとともに参照してください。
StoryboardにUICollectionViewがあります。プロトタイプのUICollectionViewCellが1つあり、中央にラベルが1つ入っています(自動サイズ調整ルールなし)。紫色の背景は、Cellによって実行時に生成されるcontentViewをマークするためだと思う。このビューはいずれUICollectionViewLayoutDelegateに基づいて適切にリサイズされる予定だが、iOS 7ではそうなっていない。Xcode 6を使っていて、この問題はiOS 7でしか起きないことに注意。
iOS 8でアプリをビルドした場合。すべて問題ありません。
注:紫色は コンテンツビュー 青色は角丸のUIButtonです。
しかし、iOS 7では、セル内のすべてのサブビューが突然(0,0,50,50)のフレームに収縮し、私のAutoresizingルールに従わなくなった。
これはiOS 8 SDKかSwift、あるいはXcodeのバグだと思うのですが?
アップデート1: この問題は、公式のXcode 6.0.1でもまだ存在しています ! この問題を回避するには、以下のKoCMoHaBTaさんの提案のように、セルのcellForItemにフレームを設定することです(ただし、セルのサブクラスを作成する必要があります)。これはiOS 8 SDKとiOS 7の間の非互換性であることが判明しました(下記のecotaxの回答はAppleからの引用です)。
アップデート2。 このコードを セルフォーアイテム で、うまくいくはずです。
/** Xcode 6 on iOS 7 hot fix **/
cell.contentView.frame = cell.bounds;
cell.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
/** End of Xcode 6 on iOS 7 hot fix **/
解決方法は?
contentViewが壊れている。awakeFromNibでも修正可能です。
ObjCです。
- (void)awakeFromNib {
[super awakeFromNib];
self.contentView.frame = self.bounds;
self.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
}
Swift3です。
override func awakeFromNib() {
super.awakeFromNib()
self.contentView.frame = self.bounds
self.contentView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
}
関連
-
[解決済み] MPProgressHUDとNSSessionを使用したデータシンクの読み込み
-
[解決済み] エラー: バイナリ式のオペランドが無効です ('float' と 'float')
-
[解決済み] Objective-Cのnil、NIL、nullの違いについて
-
[解決済み] FBLoginVIewをカスタマイズするには?
-
[解決済み] デバイス用にコンパイルするとApple Mach-Oのリンカーエラーが発生する。
-
[解決済み] Objective-Cで抽象クラスを作成する
-
[解決済み] NSStringにパーセント記号を追加する方法
-
[解決済み】idの代わりにinstancetypeを使い始めるのは有益でしょうか?
-
[解決済み】Cocoaアプリからターミナルコマンドを実行する
-
[解決済み】iOSでメールアドレスが有効であることを確認する【重複あり
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] MPProgressHUDとNSSessionを使用したデータシンクの読み込み
-
[解決済み] アーキテクチャ i386 のシンボルが見つかりませんでした。
-
[解決済み] Objective-Cは構造体の使用を禁じていますか?
-
[解決済み] 開発者の身元が確認できないため開けない
-
[解決済み] メソッド名と行番号を出力し、NSLogを条件付きで無効にする方法は?
-
[解決済み] CocoaPodsを使用している場合、.gitignoreには何が入るのでしょうか?
-
[解決済み】SwiftのコードをObjective-Cにインポートするにはどうすればいいですか?
-
[解決済み】iOS7でステータスバーを隠すことができない。
-
[解決済み】NSStringが特定の文字で始まるかどうかを確認する方法
-
[解決済み】iOSでメールアドレスが有効であることを確認する【重複あり