2016年7月28日木曜日

Automatic Preferred Max Layout Width before iOS 8.0のWarningを消す

iOS7以前に作り始めたアプリを久しぶりに直そうとしたら、
Automatic Preferred Max Layout Width before iOS 8.0
というWarningが出た。
これは

  • UILabelでLinesが2以上
  • AutoLayoutを使用
  • iOS7以前をサポートしている
という場合に出るようだ。
UILabelは中に表示するLabel.textの内容次第である程度幅を変えてくれるわけだが、AutoLayoutがいろいろ厳密になってるために、横幅の最大値のWidthを設定して欲しいと言っているようだ。

Warningを消すには、当該のUILabelを探し、SizeインスペクタのPreferred Widthに値を入れるか、横のExplicitにチェックを入れて現在のサイズを適用してやればいい。

ただ、Labelがいっぱいあってもどのラベルが対象なのかXcode様は教えてくれない。
そういう時は裏技。
  1. 左端のプロジェクトナビゲータのStoryboardを右クリック
  2. Open As でSource Codeを指定
  3. Storyboardの実態のXMLの中身が開く
  4. 「numberOfLines」で検索
  5. 部品がLabelで値が2以上のものを探す
  6. そこのID("R1P-1c-DQj"みたいなの)をFindナビゲータで検索
StoryboardのXMLを表示

Linesが2以上のLabelのIDを検索

0 件のコメント:

コメントを投稿