問題タブ [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 投票する
1 に答える
785 参照

ios - Swift: ビューの下部に相対的な位置にフィールドをプログラムで追加する

Interface Builderを使用せずにプログラムでこれを行いたいです。アプリ ビューの下部から一定の距離にある iOS アプリに UITextField を追加したいと考えています。私は多くの既存の質問と回答を見てきました。Swift には何もなく、このトピックは比較的文書化されていないようです。

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

ios - UICollectionViewCell でのプログラムによるレイアウト制約の設定

3 つのラベルと画像をレイアウトしようとしているコレクション ビュー セルがあります。垂直レイアウトは問題なく動作しているように見えますが、水平レイアウトを許容できる状態にすることができないようです。ラベルが思いどおりに機能しないようです。

基本的に、垂直方向の寸法は固定されていますが、画面の幅に基づいてセルの水平方向のサイズを変更していますが、通常は約 320 です。画像を固定位置にしたいのですが、UILabels が画像の右側に残りのスペース。

予想されるレイアウトの下の写真を含めました。

ここに画像の説明を入力

垂直レイアウトの場合、ラベルは l1 から l3 で、画像は i1 です。

画像を上から 20px に制限するには:

高さ 134 の固定セルでラベルを垂直方向に制限するには、次のようにします。

次に、ラベルが水平方向に次のようになることを期待していました。

これはほとんど機能します。複数行のラベルも動作させるには、次のように設定する必要がありました。

私が抱えている問題は、幅が動的に調整されていないかのように、ラベルがまだすべて左に離れすぎているように見え、右にかなりのギャップが残っていることです?

それをどのように修正できるかについての考えは大歓迎です。

どうもありがとう。

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

ios - Visual Formatting Language を使用して向きの NSLayoutConstraints を変更する正しい方法

NSLayoutConstraints縦向きと横向きに使用したい視覚的な書式設定文字列を使用して構築された個別の配列があります。この 2 つを切り替えるには、2 つの方法を試しました。アクティブ化/非アクティブ化、および追加/削除です。

有効化/無効化:

追加/削除:

どちらのメソッドも正常に動作し、期待どおりに動作しているように見えますが、アクティブ化/非アクティブ化メソッドで次のランタイム エラーが発生します。

これに共通するパターンはありますか?エラーが期待どおりに動作する場合、エラーを安全に無視できますか? 一方のメソッドと他方のメソッドのオーバーヘッドは異なりますか? ビューへの制約の追加とビューからの制約の削除を繰り返すよりも、アクティブにしたいプロパティの「アクティブな」プロパティを反転する方が理にかなっていると思いました。

それとも、これはこれを行うためのばかげた方法であり、NSLayoutAttributes直接変更するようなことをする必要がありますか?

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

ios - 視覚的なフォーマットの制約を使用してサブビューをスーパービューで埋める方法は?

これがコードです。ビューを作成し、それをselfに追加します(MKMapViewから継承):

そしてそれは言います:

奇妙なことに、スーパービューをいっぱいにしたいだけです。ありがとう

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

ios - 自動レイアウトを使用して UITextField の動的位置を管理する

私のクライアントの要件は次のとおりです。

約 15 個の textFields (サーバーで事前に定義) を使用して登録フォームを作成します。登録フィールドのフィールドの情報はサーバーから取得されます。場合によっては、一部のフィールドが必須ではない可能性があります。したがって、その特定のケースに必要なフィールドを取得します。

たとえば、事前定義されたフィールドの数がサーバー上で 15 であるとします。名、姓、電話番号、生年月日、写真、電子メール、住所、郵便番号など。

ただし、メール ID フィールドが不要な場合もあります。そのため、サーバーからそのフィールドを取得しません。したがって、アプリケーション側では、事前定義されたフィールドのリストから電子メール テキスト フィールドを非表示にする必要があります。

また、複数の (任意のフィールド) フィールドが必要ない可能性もあります。だから私もそれらを隠す必要があります。次のように画像表現で状況を説明しようとしています。

ケース 1:

ここに画像の説明を入力

ケース 2:

ここに画像の説明を入力

この場合、私がやっていることは (アプリケーション側) すべての定義済みフィールドに対して textFields を作成することです。次に、サーバーの応答ごとに不要なテキストフィールドを非表示にしています。つまり、電子メールの textfield またはその他の textField です。

今私の質問は、フィールドが必要ない場合、テキストフィールドを再配置する必要があり、アプリケーションで自動レイアウトを使用しています。メールのテキストフィールドを非表示にしていますが、連絡先番号、生年月日などの次のテキストフィールドの位置を設定するにはどうすればよいですか?

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

ios - 自動レイアウト エラー UIScrollView との制約を同時に満たすことができません

UIImageViewsを表示するUIScrollViewがあります。ImageViews は、ユーザーが以前に保存した画像の数に基づいて、実行時にプログラムによって挿入されます。以下のエラーが表示されます。

制約を同時に満たすことができません。

おそらく、次のリストの制約の少なくとも 1 つが望ましくないものです。これを試してみてください: (1) 各制約を見て、どれが予期しないものかを把握してみてください。(2) 不要な制約を追加したコードを見つけて修正します。(注: 理解できない NSAutoresizingMaskLayoutConstraints が表示されている場合は、UIView プロパティ translatesAutoresizingMaskIntoConstraints のドキュメントを参照してください)

スクロールビューが 4 つの側面すべてに 0 ポイントで固定される基本的な Autolayout を実行します。次に、UIScrollView のサブビュー (プレーン UIView) として contentView を追加します。これも 4 辺すべてに 0 ポイントで固定されます。

ストーリーボードの制約の画像を編集

UIScrollview のストーリーボード制約をすべての側でスーパービューに 0 に設定し、子孫の制約を contentView に 0 に設定します。

次のようなコードで contentView に幅を与えます。

UIImageViews は、ViewController へのセグエが発生したときに設定されたページ数に基づいて UIImageViews が追加される場所に追加されます。

さらに、UIScrollView をスクロールすると、表示される画像のサイズが回転時に不規則に変化します。これは、上記の警告と、UIImageViews をまだレイアウトしていないという事実の結果に過ぎないと思います。このコンテキストで上記の警告は何を意味し、どのように修正すればよいですか?

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

ios - UIScrollview Pull to refresh が機能しない

これは、スクロール ビューに更新コントローラーを追加するために使用しているコードです。しかし、スクロール ビューをプルダウンすると、更新コントロールが表示されず、対象のメソッドも呼び出されないのはなぜですか?

これをしばらく検索していますが、適切な回答が得られませんでした。

VFL Constraint を持つスクロールビューにもう 1 つ、次のようなものがあります。

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

ios - Autolayout Visual Format Language を使用して火の UIView を一列にレイアウトする

したがって、を使用しAutolayout Visual Format Languageて 4UIViewsを水平方向の行 (キーボードの行のように上から下へ) に配置したいのですが、何らかの理由で、ビューが互いの上にスタック...おそらくビジュアルフォーマットの間違いが原因です...

だから私は私の4UIViewsをそのまま持っています:

それらを辞書に追加します。

制約を作成します。

ビューに制約を追加します。

私が期待する動作は、ビューが垂直に並べて配置され、水平に引き伸ばされることですが、それらは互いに重なっているように見えます...

何を変更する必要があるか考えていますか?