問題タブ [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.
ios - Visual Format Language を使用してビューをスーパービューの中央に配置する
iOS の AutoLayout の学習を始めたばかりで、Visual Format Language を調べました。
1 つのことを除いて、すべて正常に動作します。スーパービュー内でビューを中央に配置できません。
これは VFL で可能ですか、それともコンストレイントを自分で手動で作成する必要がありますか?
ios6 - 自動レイアウト制約を使用して、カスタム幅でボタンを中央に配置するにはどうすればよいですか?
次のコードを参照してください。
私が抱えている問題はH:|-[start(100)]-|
うまくいきません。私が欲しいのは、X軸を中心とし、デフォルトのマージンで画面の下部に取り付けられた幅100のボタンです。これを削除するとすぐに機能(100)
しますが、ボタンは画面の幅からデフォルトの余白を引いた幅まで伸びます。カスタム幅を指定すると、自動レイアウトシステムでは左右の余白を計算できないと思います。Unable to simultaneously satisfy constraints.
エラーが発生します。これは、のダッシュと関係があると思います。ダッシュは、デフォルトのマージンではなく、要素をH:|-[start(100)]-|
にアタッチするために流動的な幅を持っている必要があります。start
superview
私がこれをどのように解決するかについて何か考えはありますか?
更新(ghettopiaに感謝):
UINavigationController
これは機能します(アプリデリゲートでaを使用していて、 self.view.translatesAutoresizingMaskIntoConstraints = false
inviewDidLoad
がTestController
コメントアウトされていることに注意してください):
素晴らしい。これで、意図したとおり、X軸の中央にボタンがあり、デフォルトのマージンが下にあるブルースクリーンが表示されます。self.view.translatesAutoresizingMaskIntoConstraints = false
ただし、自動レイアウトを機能させるには、私が読んだものから必要です。UINavigationController
これを実現するために、これも機能します(今回は使用しておらず、self.view.translatesAutoresizingMaskIntoConstraints = false
ISが使用されていることに注意してください)。viewDidLoad
TestController
しかし、それは適切な解決策のようには思えません。UINavigationController
アプリの構造を作成する必要があります。上記の解決策を使用しないと、真ん中(両方の軸)にボタンがない黒い画面が表示されます。ビューが壊れているようです:
考え?私はそれを削除self.view.translatesAutoresizingMaskIntoConstraints = false
して忘れるべきですか、それとも本当に必要ですか?もしそうなら、私のコードに何か問題があるに違いありません。
アップデート2:
興味深いチュートリアル:iOS 6の自動レイアウト:コードを介した制約の追加。作者はで使用せず、サブビューでのみ使用self.view.translatesAutoresizingMaskIntoConstraints = false
します。viewDidLoad
アップデート3:
の代わりにメソッドに移動self.view.translatesAutoresizingMaskIntoConstraints = false
することで、ブラックスクリーンの問題を解決できたと思います。なぜこれが機能するのかはわかりませんが、最初に意図したように、画面はスクリーンショットと同じように見えます。更新されたコードは次のとおりです。init
viewDidLoad
ios - NSLayoutConstraint constraintWithVisualFormat は superView を参照できません
ここにいくつかのコードがあります:
どうしてこんな形になってしまうのでしょうか?私のスーパービューで何かが台無しになっていますか?
私の包含ビューのセットアップ方法は次のとおりです。
ios - iOS: ビジュアル フォーマットの制約が壊れている
マップの上にボタンを配置し、左から 10 ポイント、下から 10 ポイントに制限しようとしています。ただし、シミュレーターで実行すると、制約が壊れていることがわかります。これが私のコードです。私は何が欠けていますか?
ios - 自動レイアウト VFL: 水平方向の制約ですべての末尾を揃えます
前のラベルの 1 つ下に 4 つのラベルを積み重ねていますが、そのベースラインをコンテンツ ビューの上部に揃えており、互いに垂直方向の間隔を空けていません。
私はこのようにコードでそれを行います
ここで、すべてのラベルを末尾のスペースとそのスーパービューで揃えたいと思います。
一意の VFL 文字列でそれを行うことはできますか? この例ではアプリがクラッシュしますが、次のようになります。
iphone - プログラムによる自動レイアウトが正しく表示されず、クリック イベントを受信しない
そのビューナビゲーションバーにビュー(320x480もiphone5と互換性を持たせる必要があります)があります(そのためにImageviewを使用しました)右クリックで高さと幅が140x140のビューを1つ表示したいので、右のようになりますメイン ビューに合わせて、ナビゲーション バーのすぐ下 (ビューの上部とも言えます)
そのため、コードの下に記述すると、サブビュー (ボタンがある) も正しく表示されず、クリックできません。
この場合、XIB を使用する必要はありません。これをプログラムで設定する必要があります。
これで何か考えはありますか?なにが問題ですか?
ios - ios: vfl 制約が壊れています
VFL コンストレイントが壊れ続けており、その理由がわかりません。カスタム背景を持つ UIButton です。ビューの両側から 10 ピクセルのスペースを維持しながら、幅を柔軟にしたい。コードは次のとおりです。
ios - 自動レイアウト、ビューを高さゼロの兄弟に固定
UITableViewCell サブクラスにサブビューを配置するために AutoLayout を使用しています。ビュー階層は次のように構成されています。
- トップコンテナビュー
- 画像表示
- コメント コンテナー ビュー
- アバター画像表示
- いいねボタン
- ユーザー名ラベル
- コメントボタン
- コメント ラベル
画像ビューに画像がある場合、確立した制約は意図したとおりに機能します。ただし、画像がなく、画像ビューの高さが 0 の場合、コメント ビューはそのコンテナーを埋めることができません (つまり、上部がスーパービューの上部と等しくありません)。ビュー A の上部がビュー B の下部に固定され、ビュー B の高さが 0 の場合、ビュー A の origin.y はビュー B の origin.y になると予想されます。しかし、それは起こっていることではありません。AutoLayout の書式設定の何が問題なのか、誰か教えてもらえますか?
_commentView のサブビューには他にも制約があり、リクエストに応じて投稿します。
何が起こっているかのショットは次のとおりです。
そして、2 番目のセルの目的の効果 (これは、書式文字列を : に変更したときに得られるものです@"|[_commentView]|
): 明らかに、これは画像が存在する場合を破ります。
uitableview - UITableView および UILabel の自動レイアウト制約の設定中にエラーが発生しました
プログラムで作成された UITableView と、インターフェイス ビルダーで作成された UILabel があります。テーブルが常に一定の距離を保ってラベルの下に表示されるように、自動レイアウト制約を設定したいと思います。私のコードは次のとおりです。
しかし、プログラムを実行するとクラッシュします。これは、アプリの最初のビュー コントローラーです。
ios - 他のラベル テキストに応じて UILabel 制約を設定する
私は2つのラベル(1)の名前(2)彼についてのメモを持つUITableViewCellを持っています。VFL を使用してラベルを上下にレイアウトする必要があり、それは正常に機能します。
BUT- メモが空の場合、名前ラベルをセルの垂直方向の中央に配置します。
他の制約を追加する必要がありますか、または VFL でこの条件を設定する他の方法はありますか?
ありがとうシャニ