問題タブ [intrinsic-content-size]
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 - UIButton が正しい制約を返さないのはなぜですか?
以下のコードでは、垂直スクロールビューに 5 つのボタンが追加されています。各ボタンは、scrollViews の上部 + 20、前縁、後縁、およびその高さに制限されます。b1HeightConstraint
変数を作成しました。ボタンの heightConstraint を保持するためにありb1
ます。
ボタンをクリックするだけで、この制約を取り除こうとしています。しかし、私は奇妙な問題に直面しています:
制約をログに記録すると、4 つの制約を追加したにもかかわらず、2 つの制約しか表示されません。私のビューのデバッグ階層は以下のようなものです:
コードは、ViewController クラスにダンプする準備ができています。すぐに使用できます。私のコードは、ここに書かれたコードのスピンオフです
swift - StackView: カスタム UIview のintrinsicContent サイズをオーバーライドすると、非常に予期しない結果が生じる
ここ数週間、プログラムによる動的 UI 要素に苦労した後、UIstackView を試してみることにしました。カスタム UIView クラスが、削除するユーザー入力に基づいて異なる高さでスタックビューを占有し、その場でビューを追加するようにします。
stackView の「セル」の高さは、UI 要素の固有のコンテンツ サイズに基づいていることがわかりました。ただし、UIViews にはありません。広く検索したところ、ビューの intrisicContentsize 関数を、幅と高さを明示的に設定できる関数でオーバーライドする必要があることがわかりました。ただし、結果は非常に予測不可能であり、この奇妙な動作の原因となることがわかっていない小さなことがあると確信しています。私は言語に不慣れで、落とし穴がたくさんあるので、ここにコードを貼り付けて、私が間違っていることを見つけていただければ幸いです。
私はdocs ofc、多くの記事を読みましたが、それらはすべて、私からは機能していないように見えるオーバーライド機能を指しています。
これは私の mainViewController クラスです。
ここに、このすべての問題を引き起こしているカスタム UIClass があります。
}
size プロパティで指定された幅が無視されることがわかります。上記の条件の下で、これは出力です
カスタム UIClass の intrisiContentSize の高さを他のものに変更すると、次のようになります。
何が起こっていて何が起こっていないのかを理解するのを手伝ってください
最終的な画面は次のようになります。