2017-09-14 7 views
4

ここでも同様の問題に対処しているthis other questionがありますが、その場合はXcodeの動作は正しいですが、ちょうど迷惑です。私の場合は"先行制約と後続制約が固定されているとクリッピングが発生する可能性があります"というバグはありますか?

、しかし、私はそれが実際にバグだと思う:

example

そのラベルは、それがクリッピングことは決してないだろうので、テキストだけで破壊される、行の数に制限はありません。

それはすべてのローカライズで正常に動作します:

example2

私はラベルを中心にしたいと私はテキストは、少なくとも20ピクセル離れた余白からにしたいので、私はのための固定制約を設定先頭と末尾。 Xcodeは、それらのうちの1つを「より大きいか等しい」制約に変更することを望んでいますが、その場合、テキストは完全に中心に置かれません(試しました)。

私が欲しいのは、マージンに近すぎないセンタリングされたテキストですが、今はその警告をトリガーせずに達成できません。

これを修正する方法についてのご意見はありますか?本当にバグですか、何か間違っていますか?


編集:ここでは、エラーを示すスクリーンショットです。制約は、ビューコントローラに直接はありませんが、テーブルビューのバックグラウンドとして使用するサブビューにあります。これらの制約を取り除くと、警告が消えます。私がそれらを追加すると、それは再び現れます。私はこれを新しいプロジェクトで試してみましたが、それを再現できませんでした。なぜここで起きているのか分かりません。

example3

編集:

ここでは別の例です。右の制約はすべてが順調だ「以上」に設定されている場合:できるだけ早く私は「等しい」に設定するよう

example4

、ブーム:

Xcodeでチェック

example5

+0

あなたが受け取っている警告を投稿できますか?あなたはどのxcodeを使用していますか? –

+0

@ReinierMelian Xcode 9;私はタグとして設定しましたが、本文中で言及するのを忘れました。警告はタイトルのものです。完全な文章では、「固定された先行および後続の制約によりクリッピングが発生する可能性があり、そのうちの1つが一定の≥標準スペースを持つ必要があります。ありがとう。 :) – dbmrq

+0

@ReinierMelian制約条件の1つを「より大きいか等しい」に設定すると、警告は消えますが、テキストはビューの中央に配置されません。 – dbmrq

答えて

2

9GM(バージョン9.0(9A235))、それは正しく

enter image description here

レモの作品制約を手動で追加してください。

+0

奇妙なことに、私はちょうど新しいプロジェクトでそれを試して、それは正常に動作しますが、私は制約を削除して戻しても、私が以前働いていたプロジェクトで何らかの理由でまだ起こっています。 :/ – dbmrq

+0

@dbmrqこのVCの残りのビューとその制約を使用してスクリーンショットを作成してください – OMGHaveFun

+0

別のスクリーンショットで私の質問を編集しました。ご協力いただきありがとうございます。 – dbmrq

2

Xcode9の最終バージョンで導入されたいくつかの問題がここにあります。バグが言語の方向性に関係していると思われます。何らかの理由でInterface Builderがデフォルトの言語方向条件の自動レイアウトをよく理解していません。

Reposeによると、threadは、失敗した制約(つまり、末尾)の少なくとも1つに対して言語方向の使用を無効にするようにしてください。このアプローチは私の警告を解決しました。

1

答えを探している場合は、ラベルに比例した幅を設定して、ビューコントローラのビューに水平に配置してみてください。ラベルに

クリアし、すべての制約が、Background Viewにラベルからドラッグを右クリックしてEqual WidthsCenter Horizontally in Container、およびCenter Vertically in Containerポップアップメニューから選択します。

ラベルの左右両方に20ピクセルの余白を追加したいと言ったので、等幅の制約でMultiplierを編集し、widthOfBackgroundView - 40)/widthOfBackgroundViewに設定してください。

背景ビューの幅が414で、乗数が374/414であるとします。

width minus 40乗数の理由は、ラベルの両側に20pxをカバーするためです。これにより、警告が消えて、ラベルのレイアウトが期待通りになるはずです。

私は同じ問題があり、このように警告を修正することができました。お役に立てれば!

+0

ようこそ。答えをpingしないでください。コメントを使ってください。とにかく質問の作者はあなたの答えを見るでしょう。 – Simon

+0

警告は青色から消えてしまったようですが、それは良いアイデアです。それが再び起こるなら、それを念頭に置いておきます。 :) – dbmrq

関連する問題