2016-04-05 11 views
1

私はプログラムですべてをやっています。ストーリーボードを使用していません。現在のUIViewControllerの上にUIViewControllerを表示するには?

5つのオプションを使用して、画面の下部にナビゲーションバーがあります(タブバーのようですがカスタムメイド)。これらのナビゲーションオプションのそれぞれがクリックされたときに、別のView Controllerを提示したいと思います。しかし、私は提示されたビューコントローラが私のナビゲーションバーを一番下に隠すことを望んでいません。

例:設定可能なボタンがあります。私はまた、SettingsViewControllerファイルを持っています。ユーザーが「設定」ボタンをクリックすると、私は

let settingsViewController = SettingsViewController() 
settingsViewController.modalPresentationStyle = .OverCurrentContext 
self.presentViewController(SettingsViewController(), animated: false, completion: nil) 

を行うが、これは新しいビューで私の画面全体をカバーしています。この新しいビューの色をUIColor.clearColor()に変更すると、ナビゲーションバーが下部に表示されますが、新しいビューが上に表示されます。それは私のSettingsViewControllerに()のviewDidLoadで

self.view.frame = CGRectMake(0,0,width,height-100) 

を置くことによって、画面全体をカバーしないように

私は私のSettingsViewControllerビューのフレームを変更しようとしました。しかし、ビューはまだ画面全体をカバーしています!

私のSettingsViewControllerは、画面の[上部から100pxまで]の領域からしか表示されません。ナビゲーションバーを画面の下端100pxにしておきたい。これどうやってするの?

答えて

1

は、私は私が行うために必要なすべてのサブビューとして私SettingsViewControllerからのビューを追加したとき、私の新しいSettingsViewControllerを提示しようとしていた:)

それを考え出しました。

ソリューションを行うことです

self.view.addSubview(settingsViewController.view) 
関連する問題