2017-03-16 12 views
0

私のiOS 10 ipadアプリケーションでポップオーバーを中心にしようとしています。iOS 10 popoverPresentationControllerはprepareForSegueでnilです

私はストーリーボードのあるビューから別のビューにポップオーバーセグを作成しました。私はセグエの 'ポップオーバー' に '種類' を設定している:

enter image description here

を次にprepareForSegueに:

if ([[segue identifier] isEqualToString:@"PopoverSegue"]) { 
    UIPopoverPresentationController *popoverController = segue.destinationViewController.popoverPresentationController; 
    popoverController.sourceView = self.view; 
    popoverController.sourceRect = self.view.bounds; 
} 

しかしpopoverControllerがnilです。他の人が成功これをやっていたように見えるの周り探している相手:

How to change the size of a popover

ポップオーバーセグエはストーリーボードで作成されたとき、私はprepareForSegueでpopoverPresentationControllerを手に入れることができない理由を任意のアイデアは?

+0

あなたのアーキテクチャはわかりませんが、navaigationControllerがないことがあります。これを試してみてください:segue.destinationViewController.navigationController.popoverPresentationControllerまたはsegue.destinationViewController.popoverPresentationController.navigationController – Ramis

+0

私はナビゲーションコントローラにビューコントローラを埋め込んでいません。したがって、ナビゲーションコントローラはありません。私の知る限り、popoverPresentationControllerは、popoverに埋め込まれているビュー内になければなりません。ちょうど楽しみのために、ナビゲーションコントローラーに私の見解を埋め込んで、それが違いをもたらしたかどうかを見ました。 iOS 10のバグ? iOS 10ではサポートされていませんか? – lostintranslation

答えて

0

あなたのセグkindポップオーバーです。 ポップオーバーとして表示すると、destinationViewController.popoverPresentationControllerプロパティの値が表示されます。ストーリーボードのプロパティで特性バリエーションを明示的に有効にして、現在のポップオーバーをオプションとして表示する必要があります。

関連する問題