問題タブ [visual-format-language]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
14 に答える
88060 参照

ios - Visual Format Language を使用してビューをスーパービューの中央に配置する

iOS の AutoLayout の学習を始めたばかりで、Visual Format Language を調べました。

1 つのことを除いて、すべて正常に動作します。スーパービュー内でビューを中央に配置できません。
これは VFL で可能ですか、それともコンストレイントを自分で手動で作成する必要がありますか?

0 投票する
1 に答える
6287 参照

ios6 - 自動レイアウト制約を使用して、カスタム幅でボタンを中央に配置するにはどうすればよいですか?

次のコードを参照してください。

私が抱えている問題はH:|-[start(100)]-|うまくいきません。私が欲しいのは、X軸を中心とし、デフォルトのマージンで画面の下部に取り付けられた幅100のボタンです。これを削除するとすぐに機能(100)しますが、ボタンは画面の幅からデフォルトの余白を引いた幅まで伸びます。カスタム幅を指定すると、自動レイアウトシステムでは左右の余白を計算できないと思います。Unable to simultaneously satisfy constraints.エラーが発生します。これは、のダッシュと関係があると思います。ダッシュは、デフォルトのマージンではなく、要素をH:|-[start(100)]-|にアタッチするために流動的な幅を持っている必要があります。startsuperview

私がこれをどのように解決するかについて何か考えはありますか?

更新(ghettopiaに感謝):

UINavigationControllerこれは機能します(アプリデリゲートでaを使用していて、 self.view.translatesAutoresizingMaskIntoConstraints = falseinviewDidLoadTestControllerコメントアウトされていることに注意してください):

正しい画面

素晴らしい。これで、意図したとおり、X軸の中央にボタンがあり、デフォルトのマージンが下にあるブルースクリーンが表示されます。self.view.translatesAutoresizingMaskIntoConstraints = falseただし、自動レイアウトを機能させるには、私が読んだものから必要です。UINavigationControllerこれを実現するために、これも機能します(今回は使用しておらず、self.view.translatesAutoresizingMaskIntoConstraints = falseISが使用されていることに注意してください)。viewDidLoadTestController

しかし、それは適切な解決策のようには思えません。UINavigationControllerアプリの構造を作成する必要があります。上記の解決策を使用しないと、真ん中(両方の軸)にボタンがない黒い画面が表示されます。ビューが壊れているようです: 黒い画面

考え?私はそれを削除self.view.translatesAutoresizingMaskIntoConstraints = falseして忘れるべきですか、それとも本当に必要ですか?もしそうなら、私のコードに何か問題があるに違いありません。

アップデート2:

興味深いチュートリアル:iOS 6の自動レイアウト:コードを介した制約の追加。作者はで使用せず、サブビューでのみ使用self.view.translatesAutoresizingMaskIntoConstraints = falseします。viewDidLoad

アップデート3:

の代わりにメソッドに移動self.view.translatesAutoresizingMaskIntoConstraints = falseすることで、ブラックスクリーンの問題を解決できたと思います。なぜこれが機能するのかはわかりませんが、最初に意図したように、画面はスクリーンショットと同じように見えます。更新されたコードは次のとおりです。initviewDidLoad

0 投票する
2 に答える
682 参照

ios - NSLayoutConstraint constraintWithVisualFormat は superView を参照できません

ここにいくつかのコードがあります:

どうしてこんな形になってしまうのでしょうか?私のスーパービューで何かが台無しになっていますか?

ぐちゃぐちゃ拘束のイメージ】

私の包含ビューのセットアップ方法は次のとおりです。 包含ビューの IB セットアップ

0 投票する
1 に答える
1191 参照

ios - iOS: ビジュアル フォーマットの制約が壊れている

マップの上にボタンを配置し、左から 10 ポイント、下から 10 ポイントに制限しようとしています。ただし、シミュレーターで実行すると、制約が壊れていることがわかります。これが私のコードです。私は何が欠けていますか?

0 投票する
2 に答える
1688 参照

ios - 自動レイアウト VFL: 水平方向の制約ですべての末尾を揃えます

前のラベルの 1 つ下に 4 つのラベルを積み重ねていますが、そのベースラインをコンテンツ ビューの上部に揃えており、互いに垂直方向の間隔を空けていません。

私はこのようにコードでそれを行います

ここで、すべてのラベルを末尾のスペースとそのスーパービューで揃えたいと思います。

一意の VFL 文字列でそれを行うことはできますか? この例ではアプリがクラッシュしますが、次のようになります。

0 投票する
1 に答える
285 参照

iphone - プログラムによる自動レイアウトが正しく表示されず、クリック イベントを受信しない

そのビューナビゲーションバーにビュー(320x480もiphone5と互換性を持たせる必要があります)があります(そのためにImageviewを使用しました)右クリックで高さと幅が140x140のビューを1つ表示したいので、右のようになりますメイン ビューに合わせて、ナビゲーション バーのすぐ下 (ビューの上部とも言えます)

そのため、コードの下に記述すると、サブビュー (ボタンがある) も正しく表示されず、クリックできません。

この場合、XIB を使用する必要はありません。これをプログラムで設定する必要があります。

これで何か考えはありますか?なにが問題ですか?

0 投票する
1 に答える
78 参照

ios - ios: vfl 制約が壊れています

VFL コンストレイントが壊れ続けており、その理由がわかりません。カスタム背景を持つ UIButton です。ビューの両側から 10 ピクセルのスペースを維持しながら、幅を柔軟にしたい。コードは次のとおりです。

0 投票する
1 に答える
237 参照

ios - 自動レイアウト、ビューを高さゼロの兄弟に固定

UITableViewCell サブクラスにサブビューを配置するために AutoLayout を使用しています。ビュー階層は次のように構成されています。

  • トップコンテナビュー
    • 画像表示
    • コメント コンテナー ビュー
      • アバター画像表示
      • いいねボタン
      • ユーザー名ラベル
      • コメントボタン
      • コメント ラベル

画像ビューに画像がある場合、確立した制約は意図したとおりに機能します。ただし、画像がなく、画像ビューの高さが 0 の場合、コメント ビューはそのコンテナーを埋めることができません (つまり、上部がスーパービューの上部と等しくありません)。ビュー A の上部がビュー B の下部に固定され、ビュー B の高さが 0 の場合、ビュー A の origin.y はビュー B の origin.y になると予想されます。しかし、それは起こっていることではありません。AutoLayout の書式設定の何が問題なのか、誰か教えてもらえますか?

_commentView のサブビューには他にも制約があり、リクエストに応じて投稿します。

何が起こっているかのショットは次のとおりです。

2 番目のセルの上部と青いコメント コンテナーの上部の間のギャップ

そして、2 番目のセルの目的の効果 (これは、書式文字列を : に変更したときに得られるものです@"|[_commentView]|): 明らかに、これは画像が存在する場合を破ります。

ここに画像の説明を入力

0 投票する
0 に答える
143 参照

uitableview - UITableView および UILabel の自動レイアウト制約の設定中にエラーが発生しました

プログラムで作成された UITableView と、インターフェイス ビルダーで作成された UILabel があります。テーブルが常に一定の距離を保ってラベルの下に表示されるように、自動レイアウト制約を設定したいと思います。私のコードは次のとおりです。

しかし、プログラムを実行するとクラッシュします。これは、アプリの最初のビュー コントローラーです。

0 投票する
1 に答える
139 参照

ios - 他のラベル テキストに応じて UILabel 制約を設定する

私は2つのラベル(1)の名前(2)彼についてのメモを持つUITableViewCellを持っています。VFL を使用してラベルを上下にレイアウトする必要があり、それは正常に機能します。

BUT- メモが空の場合、名前ラベルをセルの垂直方向の中央に配置します。

他の制約を追加する必要がありますか、または VFL でこの条件を設定する他の方法はありますか?

ありがとうシャニ