メインのviewController内に、次のように宣言された2つのivarがあります。
UIPopoverController* __popoverController;
HPSQuestionnaireEditorController* _questionnaireEditorController;
次に、UIPopOverを次のように表示します。
_questionnaireEditorController = [ [ HPSQuestionnaireEditorController alloc ] initWithNibName:nil bundle:nil ];
__popoverController.delegate = self;
[__popoverController setPopoverContentSize:CGSizeMake(400, 500)];
[_questionnaireEditorController setContentSizeForViewInPopover:CGSizeMake(400, 500)];
[__popoverController presentPopoverFromRect:editWrapper.frame inView:editWrapper.superview permittedArrowDirections:UIPopoverArrowDirectionLeft | UIPopoverArrowDirectionRight animated:YES ];
ポップオーバーを却下するときが来たら、次のように手動でこれを行います。
[__popoverController dismissPopoverAnimated:YES ];
__popoverController = nil;
_questionnaireEditorController.view=nil;
_questionnaireEditorController=nil;
ARCを使用しています。
_questionnaireEditorController内には、次のものがあります。
- (void)viewWillUnload
{
NSLog(@"HPSQuestionnaireEditorController viewWillUnload starting");
}
ただし、これは実行されません。ポップオーバーの却下は、ビューまたはビュー内でホストされているコントローラーを実際にアンロードするようには見えません。
私は何が間違っているのですか?ありがとう。