iOS6 でフォームシートのモーダル ビューを閉じようとしています。iOS5 では完全に正常に動作しますが、6 では失敗します (プロジェクトは両方で ARC を使用します)。
失敗したときのスタックは次のとおりです。
#0 0x0175a267 in objc_msgSend_stret ()
#1 0x006d55bd in -[UIView(Geometry) bounds] ()
#2 0x006cc707 in -[UIWindow _updateCurrentTintView] ()
#3 0x0075117b in -[UITransitionView transition:fromView:toView:removeFromView:] ()
#4 0x0097df44 in __91-[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:]_block_invoke_0236 ()
#5 0x0097d4eb in -[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:] ()
#6 0x0077ba11 in -[UIViewController _dismissViewControllerWithTransition:from:completion:] ()
#7 0x0077aecd in -[UIViewController dismissViewControllerWithTransition:completion:] ()
#8 0x0077bbdb in -[UIViewController dismissViewControllerAnimated:completion:] ()
#9 0x00056a50 in -[HandDeviceToAssessorViewController dismiss:] at <directory of file>
ビュー コントローラは次のように作成されます。
+ (HandDeviceToAssessorViewController *)handDeviceToAssessorWithWellDoneView
{
static dispatch_once_t pred;
static HandDeviceToAssessorViewController *viewController = nil;
dispatch_once(&pred, ^(void)
{
viewController = [[HandDeviceToAssessorViewController alloc] initWithNibName:@"WellDoneHandDeviceToAssessorView" bundle:[NSBundle mainBundle]];
});
viewController.modalPresentationStyle = UIModalPresentationFormSheet;
return viewController;
}
コードで表示されます:
HandDeviceToAssessorViewController *handBackModal = [HandDeviceToAssessorViewController handDeviceToAssessorWithWellDoneView];
handBackModal.delegate = self;
[self presentViewController:handBackModal animated:YES completion:nil];
ビューコントローラーはによって閉じられます。
- (IBAction)dismiss:(id)sender
{
if ([self.delegate respondsToSelector:@selector(viewWillClose)])
{
[self.delegate viewWillClose];
}
[self.presentingViewController dismissViewControllerAnimated:YES completion:^(void)
{
if ([self.delegate respondsToSelector:@selector(viewDidClose)])
{
[self.delegate viewDidClose];
self.delegate = nil;
}
}];
}
iOS6のバグではないことを疑います/願っています。これを修正する方法についてのアイデアはありますか?