[解決済み】iOS 8.0より前のバージョンでは、レイアウトの最大幅を自動的に優先することはできません。
質問
Xcode6 beta6で既存のiOSプロジェクトを開いたら、StoryboardファイルとXibファイルの両方で以下のような警告が表示されました。
自動優先最大レイアウト幅はiOSバージョンでは利用できません 8.0より前のバージョン
以下のように明示的にwidthを設定することで警告に対応してみました。
しかし、これでも警告は解消されませんでした。どうすれば削除できるのでしょうか?
解決方法を教えてください。
アップデート3:
この警告は、ラベルに
numberOfLines
が 1 以外に設定されている場合、デプロイメント ターゲットが 7.1 に設定されています。これは、新しいシングルビューのプロジェクトで完全に再現可能です。
再現のための手順
- 新規に単一ビュー、objective-c プロジェクトを作成します。
- デプロイメントターゲットを 7.1 に設定する
- プロジェクトのストーリーボードを開く
- 提供されたビューコントローラーにラベルをドロップします
- そのラベルのnumberOfLinesを2に設定します。
- コンパイル
以下のレーダーを申請しました。
rdar://problem/18700567
アップデート2。
残念ながら、Xcode 6のリリース版で再びこの現象が発生しました。なお、ほとんどの場合、手動でストーリーボード/xibを編集して問題を解決することができます。この問題は
チャールズ・A
を以下のコメントで紹介します。
なお、このような場合、間違って この警告を出すと、警告そのものは、その警告を見つけるのに役立つわけではありません。 ラベルが原因です。これは、複雑な ストーリーボード ストーリーボードをソースファイルとして開いて検索すると 正規表現で
<label(?!.*preferredMaxLayoutWidth)
というラベルを見つけるために の属性/値を省略することができます。もし preferredMaxLayoutWidth="0"を指定すると、そのような行で を明示し、値を0とする。
アップデート 1.
この不具合は、Xcode 6 GMで修正されました。
オリジナルの回答
Xcode6-Beta6およびXCode6-Beta7のバグですので、今のところ無視していただいて結構です。
Apple Developer forumsでAppleのエンジニアが これ このバグについて
Preferred max layout width は、UILabel の自動レイアウトプロパティです。 は、内容に合わせて自動的に縦に伸びるようにします。 Xcode の 6.0 より前のバージョンでは、preferredMaxLayoutWidth を 複数行のラベルは、設計時に現在の境界サイズになります。そのため は、実行時に preferredMaxLayoutWidth を手動で更新する必要があります。 水平方向のレイアウトが変更されました。
iOS 8 では このため、複数行のレイアウトを作成することができます。 ラベルがより簡単になりました。この設定はiOSとの後方互換性がありません。 7. iOS 7 と iOS 8 の両方をサポートするために、Xcode 6 では、size で preferredMaxLayoutWidth に "Automatic" または "Explicit" を選択できるようになりました。 インスペクタで確認できます。する必要があります。
iOS 8 をターゲットにしている場合は、"Automatic" を選択すると、最高のエクスペリエンスが得られます。ピック iOS 8をターゲットにしている場合は、"Explicit" を使用します。次に preferredMaxLayoutWidthを設定します。Explicitを有効にしてください。 を有効にすると、チェックした時点のバウンズサイズがデフォルトで使用されます。
警告が表示されるのは、(1)オートレイアウトを使用している場合、(2)オートレイアウトを使用していない場合です。 複数行のラベルに"Automatic"が設定されている場合(この設定は (3) デプロイメントのターゲットが iOS 8 の場合。
この警告は、オートレイアウトでない場合に表示されるバグのようです。 のドキュメントを参照してください。この警告が表示され、自動レイアウトを使用していない場合 という警告が表示されますが、無視していただいて結構です。
また、問題のストーリーボードまたは xib のファイルインスペクタで "Builds for" を "Builds for iOS 8.0 and Later" に変更すれば、問題を回避することができます。 <イグ
関連
-
[解決済み】 libc++abi.dylib: NSException 型のキャッチできない例外で終了する (lldb)
-
[解決済み】iOS用のプライベートメッセージUI(受信、送信、作成)フレームワークはありますか?
-
[解決済み] Xcode コマンド /usr/bin/codesign は終了コード 1 で失敗しました : errSecInternalComponent
-
[解決済み] Cordova Camera iOSの問題。NOT_FOUND_ERR
-
[解決済み] シミュレータへのサービス接続の開始に失敗しました Xcode
-
[解決済み] 新しい Swift クラスの void 関数で予期しない非 void の戻り値が発生する。
-
[解決済み] データソースからのセルの取得に失敗しました。
-
[解決済み] UIViewController viewDidLoad vs. viewWillAppear。適切な役割分担とは?
-
[解決済み] NSIntegerからNSStringデータ型に変換するにはどうすればよいですか?
-
[解決済み] アラート "デバッグを続けるには、開発者ツールへのアクセスが他のプロセスの制御を必要とします。これを許可するにはパスワードを入力してください。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】iOS用のプライベートメッセージUI(受信、送信、作成)フレームワークはありますか?
-
[解決済み] Cordova Camera iOSの問題。NOT_FOUND_ERR
-
[解決済み] Argument passed to call that takes no arguments "エラーを修正するには?
-
[解決済み] iOS Development 証明書が失効されました
-
[解決済み] データソースからのセルの取得に失敗しました。
-
[解決済み] Stringをformatで作成するには?
-
[解決済み] 配列型 'int [16]' は代入不可能です。
-
[解決済み] Unwind segue - インスタンスメソッドのみ @IBAction を宣言でき、ボタンが Exit に接続しない
-
[解決済み] あなたのリクエストはエラーを発生させました。[newNullResponse]?
-
[解決済み] UIViewAlertForUnsatisfiableConstraintsでトラップする方法は?