[解決済み】layoutSubviewsはいつ呼び出されるのですか?
質問
カスタムビューがあるのですが、そのビューに
layoutSubview
メッセージを表示します。
画面いっぱいに表示されるビューがあります。画面下にはカスタムサブビューがあり、ナビバーの高さを変更するとInterface Builderで正しくサイズ変更されます。
layoutSubviews
は、ビューの作成時に呼び出されますが、それ以降は呼び出されません。私のサブビューは正しくレイアウトされています。通話中ステータスバーをオフにすると、サブビューの
layoutSubviews
は、メインビューがサイズ変更のアニメーションを行うにもかかわらず、まったく呼び出されません。
どのような状況で
layoutSubviews
は実際に呼び出されるのでしょうか?
私は
autoresizesSubviews
に設定します。
NO
をカスタムビューに追加しました。そして、Interface Builderでは、上下のストラットと垂直の矢印を設定しました。
もうひとつは、ウィンドウをキーにすることです。
[window makeKeyAndVisible];
でないと、サブビューのサイズが自動的に変更されません。
解決方法は?
Interface Builderでは、シミュレーション画面要素(ステータスバーなど)がオンになっているビューでは、スプリングを変更することができないというのが、解決の糸口になりました。メインビューのスプリングがオフになっていたため、そのビューはサイズを変更できず、したがって通話中バーが表示されると全体がスクロールダウンされました。
シミュレーション機能をオフにしてから、ビューのサイズを変更し、スプリングを正しく設定すると、アニメーションが発生し、私のメソッドが呼び出されるようになりました。
このデバッグをする上でさらに問題になるのは、メニューから通話中のステータスを切り替えると、シミュレータがアプリを終了してしまうことです。アプリを終了させる=デバッガーを使わないということです。
関連
-
[解決済み] 警告: 'characters' は非推奨です。String または Substring を直接使用してください。
-
[解決済み] Argument passed to call that takes no arguments "エラーを修正するには?
-
[解決済み] iOS HTTP GET リクエストを実行できません -Error Domain=NSURLErrorDomain Code=-1012
-
[解決済み] NSIntegerからNSStringデータ型に変換するにはどうすればよいですか?
-
[解決済み] iOS 9 : ユニバーサルアプリの警告「アプリがフルスクリーンを必要としない限り、すべてのインターフェイスの向きをサポートする必要があります」。
-
[解決済み] UILabelにスペース/パディングを追加する
-
[解決済み] なぜSwiftでUIViewControllerのデフォルトのsuper.init()を呼び出すことができないのでしょうか?
-
[解決済み] Unwind segue - インスタンスメソッドのみ @IBAction を宣言でき、ボタンが Exit に接続しない
-
[解決済み] あなたのリクエストはエラーを発生させました。[newNullResponse]?
-
[解決済み] iOSのイベントハンドリング - hitTest:withEvent:とpointInside:withEvent:はどのように関係しているのでしょうか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】リンカーコマンドが終了コード1で失敗(起動を確認するには-vを使用)、Xcode 8、Swift 3
-
[解決済み] ペン先を読み込んだが、「表示」コンセントが設定されていない
-
[解決済み] UITabBar アイコンが正しく表示されない
-
[解決済み] #ifdef DEBUG 対 #if DEBUG
-
[解決済み] Xcode 4のBundle creator OS Type code ?
-
[解決済み] Stringをformatで作成するには?
-
[解決済み] アプリケーションは、アプリケーション起動の最後にルートビューコントローラーを持つことが期待される
-
[解決済み] BluetoothのロゴはiPhoneのキャラクターとして利用できますか?
-
[解決済み] Xcode 6: iOS 8.1 The Developer Disk Imageをマウントできませんでした。
-
[解決済み] ナビゲーションアイテムのタイトルカラーを変更する方法