2011-12-05 12 views
3

異なるサイズの2つのNSViewを持つViewControllerがあります。私はこれらのNSViewsの両方にサブビューとしてカスタムViewControllerのビューを追加し、動的に(2つの親ビューを)塗りつぶすサイズにしたいと思っています。私はこれをメインレイアウト用の実装ファイルでうまく実現できますが、そのコードは大変です。代わりに私のカスタムViewControllerにすべての作業をさせたいと思います。これを行うには、カスタムビューを追加するビューの高さと幅を知る必要があります。 parentViewControllerプロパティがありますが、私のために何もしていません。ビューが追加されているビューを参照する方法はありますか?サブビュー追加時の親ビューへのアクセス

私は

[self.view setFrame:CGRectMake(0, 0, 
    self.parentViewController.view.frame.size.width, 
    self.parentViewController.view.frame.size.height)]; 

を持ってできるようにしたいと思いますが、高さと幅は、ここで両方のゼロです。私のカスタムのViewController viewDidLoadメソッドで

私は数時間ドキュメントを掘り下げてきましたが、私はまだ混乱しています。どんな助けでも大歓迎です。

答えて

4

最初にparentViewControllerプロパティを設定する必要があります。設定されていない場合はゼロになります。正しく設定されているかどうかを指定していません。ビューのスーパービューが正しく設定されていると仮定すると、これを行う簡単な方法があります。これを試してください:

[self.view setFrame:self.superview.frame]; 

何かを変更する必要がある場合は、スーパービューのフレームからrectを作成してください。

+0

私のカスタムビューコントローラのviewDidLoadメソッドにparentViewControllerを設定しますか?ヒントもありがとう! – Ethan

+0

グローバル変数で参照を保持したり、他の方法から参照を取得したりする場合は、これを実行できます。カスタムビューコントローラを割り当てて初期化するときに設定する必要があります – MadhavanRP

関連する問題