web-dev-qa-db-ja.com

iOS 7:「ラベル-ラベル」の表示フレームの配置が間違っています

IOS 6でアプリを完成させ、1週間前に開発者アカウントを購入したばかりなので、iOS 7 SDKで遊ぶ時間はあまりありませんでした。 Golden Masterバージョンをダウンロードし、iOS 7と互換性があるようにアプリをアップグレードしようとしました。

私は多くの警告を受けました

「ラベル-ラベル」の見当違いのビューフレームは、実行時に異なります。

プログラムを実行できません。プロジェクトにはtableviewが含まれており、RSSからのXMLフィードを解析および表示しています。

この問題を修正するには?

64
AJ112

私は同じ問題を抱えていましたが、Appleからの回答を以下に示します

これらのビューのフレームに一致するように制約を更新する必要があります。

私は次のことをしました:

エディター->自動レイアウトの問題を解決する-> ** View Controllerのすべての制約をクリアする

次に、ビューでオブジェクトを再度並べ替えました。

PS:Enricoのソリューションを最初に試してください。

44
null

受け入れられた答えはfix問題ですが、それはあなたのすべての制約を取り除くので良い解決策ではありません。制約に何時間も費やしている場合は、そうしないでください。

警告の横にある三角形をクリックすると、何が間違っているのかを説明できます。次に、フレームをあるべき場所に移動します。例えば:

enter image description here

この場合、テキストビューのy位置を94に移動しただけで、警告は消えます。これは、アプリの実行中に制約の1つがビューを強制的に別の場所に配置するためですが、その位置はストーリーボードの現在の位置とは異なるためです。


フレームを正しい位置に移動する別の方法は、ストーリーボードのView Controller名の横にある警告をクリックし、黄色の警告記号をクリックして、フレームの更新をクリックすることです。

enter image description here

enter image description here

これらの2つの方法は破壊的ではなく、制約を削除しません。どちらかといえば、制約を少し再調整する必要があるかもしれません。

137
Enrico Susatyo

私はあなたがする必要があるのと同じ問題を抱えていました、制約を更新するか、フレームを更新します。ストーリーボードには、下の画像に示すように小さなツールバーがあります。 enter image description here

意味をご覧ください:-

enter image description here

[フレームの更新]または[制約の更新]を選択し、[推奨される制約にリセット]を使用できます。これにより、見当違いのビューに関する問題が解決されます。ビューをドラッグアンドドロップしてレイアウトを調整しないでください。代わりに、該当する制約を編集してください。クリアしていない場合はお知らせください。

9
Sandy

XCodeでUpdate Framesを見つけるのに問題がある場合は、次のようにします。

enter image description here

6
sivi

すべての場合に答えは機能しません。 Xcodeの最近のバージョンでは、UISearchBarを使用して、IBで有効化されたスコープフィールドを有効にすると、検索フィールドが2倍の高さで表示されます(ただし、その下にスコープバーは表示されません)。 (任意の高さの)高さ制約を検索フィールドに追加するかどうかに関係なく、実行時に88 Hになりますが、IBでは44 Hになる見当違いのビューであるという警告が表示されます。フレーム(任意またはすべてのフレーム)を更新しても解決されません。 IBのバグのようです。

2
clearlight