2016-09-17 13 views
0

ビューコントローラのビューをビューコントローラのサブビューとして使用しています。可視のビューコントローラーから新しいビューコントローラーを表示しない限り、すべてがうまくいきます。 ビューコントローラー(サブビューとして追加)のビューコントローラーフレームを変更した後、変更されました。すべてのビューコントローラビューは自動レイアウトで作成されます。ビューを表示した後にサブビューのフレームが更新されています

viewDidLayoutSubviewwのサブビューのフレームを更新しようとしました。

この問題の解決方法を教えてください。

EDIT:

私は、サブビューviewDidLoad方法で自分の視野枠を設定し

// Show report abuse view 
let vcReportAbuse = ReportAbuseViewController(nibName:"ReportAbuseViewController‌​", bundle: nil) 
    vcReportAbuse.target = self 
    vcReportAbuse.info[ParamName.AbusedUserID.rawValue] = userProfileModal?.uId 
let nav = UINavigationController(rootViewController: vcReportAbuse) // 
    nav.modalTransitionStyle = .CrossDissolve 
self.presentViewController(nav, animated: true, completion: {() -> Void in }) 
+0

どのようにviewControllerをプレゼンテーションしていますか? vcReportAbuse.target =自己 vcReportAbuse.info –

+0

@RashwanL 私は、サブビュー //表示するレポート乱用ビュー せvcReportAbuse = ReportAbuseViewController(:: "ReportAbuseViewController"、バンドルゼロnibName)から、次のようにビューコントローラを提示しています【ParamName.AbusedUserID.rawValue] = userProfileModal .UID せNAV = UINavigationController(rootViewController:vcReportAbuse) // nav.modalTransitionStyle = .CrossDissolve self.presentViewController(NAV、アニメーション:真、完了:{() - > Void in }) –

+0

yoを作成しようURはビューコントローラのアルファ透明を提示し、Xcodeシミュレータのスローアニメーションのトグルを使用してサブビューの下で何が起こるかを調べます。また、既にXcode 8で作業している場合は、アプリがシミュレータで実行されている間に、デバッグビューのヒアナリーボタンを使ってView Controllerのレイアウトを調べることもできます。 https://developer.apple.com/library/content/documentation/ToolsLanguages/Conceptual/Xcode_Overview/ViewHierarchy.htmlを確認する – pedrouan

答えて

0

から、次のようにビューコントローラを提示しています...

override func viewDidLoad() { 

    super.viewDidLoad() 
    self.view.frame = UIScreen.mainScreen().bounds 
} 
0

はあなたにすべての これをありがとう問題は解決されました。私はちょうど新しいコントローラが提示しているビューコントローラオブジェクトを更新しました。最初に私はサブビューからそれを提示していました。

関連する問題