問題タブ [layoutsubviews]
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 - ios layoutSubviewsの反対は何ですか
独自の xib を持つ独自のクラスで終了するビューがあります。
このビューは初期化され、viewController ビューにサブビューとして追加されます。
ビューが初期化されると、メソッド layoutSubviews が呼び出され、ビュー内のいくつかのものをカスタマイズします。
しかし、ビューがスーパービューから削除されたときに呼び出されるメソッドはどれですか?
たとえば、ViewController の場合、viewWill/DidDisappear が呼び出されます。UIView (layoutSubviews の反対) に似た方法はありますか?
前もって感謝します
- -編集 - -
サブビューの追加と削除の両方で呼び出されるメソッドを見つけました:
また、newSuperview == 0 の場合、サブビューの削除をカスタマイズできます。
私は正しいですか、それとも状況を処理するのは厄介な方法ですか?
uitableview - UITableViewCell サブクラスで UILabel の UIFont を設定します
UIFont
に を設定することをお勧めしUILabel
ますlayoutSubviews
。a をサブクラス化していUITableViewCell
ます。layoutSubview
必要に応じてフレームを調整するために使用するUIView
ので、それを使用するかどうかはわかりません.
また、viewDidLoad
一度だけ呼び出される のようなメソッドはありますか。
にフォントを設定するのに疲れましたinitWithCoder
がIBOutlet
、 のUILabel
は空ですinitWithCoder
。
UILabel
でテキストを設定できるcellForRowAtIndexPath
ので、このカスタムとの接続UILabel
は正しいです。
注:- セルはUIViewController
inから初期化されUIStoryboard
ます。
ios - (UITableViewCell) layoutSubviews のオーバーライドは、自動レイアウトまたはストーリーボードと競合しますか?
UITableView セルのサブクラスを作成しています。
セルの contentView、backgroundView、および selectedBackgroundView をすべて単一の CGInsetRect (tableView に設定された 180.0 rowHeight) に設定しました。私の最初の問題は、挿入長方形を画像ビューに割り当てようとしたときです。画像は右に +-5 ポイント押し込まれます。そのため、rect を手動で作成することにしました。
次に、テキスト ラベルのサイズと色を設定しましたが、割り当てた特定の属性は、セルをクリックするまで表示されません。
テキスト ラベルを手動で設定しないと、画像によって textLabel が画面外に押し出され、1 文字と "..." 省略記号のみが表示されます。
変更を加えるたびに何かが壊れてしまい、私のコードが何らかの自動システムと競合しているようです。非常に苛立たしく、何をすべきか、またはこれをデバッグする方法さえわかりません。ストーリーボードを使用した UITableViewCell の layoutSubviews の落とし穴に関するヒントは、何か重要なものが欠けているように見えるので、素晴らしいでしょう。
私のレイアウトサブビュー
ios - 自動レイアウトにより、無限の layoutSubviews ループが発生する
サブビューで自動レイアウトを使用すると、layoutSubview メソッドが無限にループします。
私がやっていることは次のとおりです。
これにより、layoutSubviews で無限ループが発生します。実際には、applyConstraints が呼び出されない場合でもループが発生します。これを停止する唯一の方法は、'translatesAutoresizingMaskIntoConstraints' を YES に設定することです。
以前にこの問題に遭遇した/解決した人はいますか?
更新 明確にするために、これはビューコントローラー内で使用される UIView サブクラスです。ビュー自体は自動レイアウトを使用しません。代わりに、フレームは初期化後に昔ながらの方法で設定されます。
ios - カスタムUIVIew layoutSubviewsは、変換を設定するときにエラーを引き起こします(AutoLayoutは、すでにスーパーメソッドを呼び出すように求めます)
-layoutSubviews
ランドスケープで別のレイアウトを作成するためにオーバーライドしようとしているという奇妙な問題があります。私の方法は縦向きでは問題なく動作しますが、横向きのサブビューの 1 つに変換を設定すると、次のエラーが発生します。
私の方法は次のとおりです。
その行をコメントアウトすると、エラーは発生しません。なぜこれが起こるのか誰か知っていますか?何か不足していますか?私は自分のアプリの他の場所でほぼこの正確な変換を行いましたが、問題なく動作します。私は一生、ここで何が起こっているのか理解できません。私はほとんど何でも試してみたいと思っています。
ios7 - iOS 7 UITextView - layoutSubviews 無限ループ
私はUITextViewを持っています:
iOS7でのみ問題があります:
キーボードのキーストロークごとlayoutSubviews
に、スーパービューで呼び出されます。数文字書いた後、無限ループに陥り、layoutSubviews
絶え間なく呼び出し続けます。
textView.scrollEnabled = NO;
コード行を削除すると、すべてが想定どおりに機能します。
テキストビューでスクロールを無効にしたいと思います。誰もそれを行う方法を知っていますか?
ios - UICollectionView レイアウト変更による子ビュー レイアウトのタイミング変更
デバイスが回転したときにセルのサイズを変更するカスタム レイアウトを持つ UICollectionView があります。レイアウトによってセルのサイズが変更されると、各セルで layoutSubviews が呼び出されます。これが私が欲しいものです。ただし、layoutSubviews はアニメーション化された方法で実行されませんが、セルのサイズの変更は実行されます。2 つの変更を同期したいと思います。
たとえば、現在、セルが大きくなると、サブビューのサイズが即座に変更され、セル サイズがその変化をアニメートします。アニメーションコードをlayoutSubviewsに入れるべきではないと思います。あれは正しいですか?これを処理する最善の方法は何ですか?