私は自分の問題をしばらく検索し、いくつかのヒントを試しましたが、まだ問題があります。
最初にいつ発生したかはわかりませんが、まだ発生しています。UIViewController を UINavigationController にプッシュすると、黒い画面が表示されます。
新しい ViewController を TapGesture ハンドラーにプッシュします (以下のコード)。黒い画面はシミュレーターの iOS 5.1 でのみ表示され、iOS 5.0 および 6.1 では正常に動作します。
- (void)handleTapGesture:(id)recognizer
{
MyViewController *vc = [[MyViewController alloc] init];
[vc.navigationItem setRightBarButtonItems: nil];
int i = 0;
CGPoint tapLocation = [recognizer locationInView:self.scrollView];
for(UIView *view in self.scrollView.subviews) {
if([view isKindOfClass:[UIImageView class]]) {
// remove quickbars from suberview
[self removeQuickBarFromSuperView:view];
if(CGRectContainsPoint(view.frame, tapLocation)) {
vc.documentDir = self.documentDir;
vc.imageSourcePath = self.imageSourcePath;
vc.content = [content objectAtIndex:i] ;
}
i++;
}
}
[self.navigationController pushViewController:vc animated:YES];
}
私もそれをテストしました
MyViewController *vc = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:[NSBundle mainBundle]];
(またはバンドル: なし)
これも 5.0 と 6.1 では問題なく動作しますが、5.1 ではアプリがクラッシュします。
アドバイスをいただければ幸いです。
敬具
トーベン