何かをナビゲーション コントローラにプッシュしてからメイン ページに戻ると、メイン ページのスクロールビューが機能しなくなります。まだナビゲーションコントローラーに何もプッシュせずにアプリケーションを再度開くと、正常に動作します。scrollview は、フレームを超えて広がる水平スクロールビューです。iOSでアプリケーションを切り替えるときのように、ボタンをスクロールするために使用します(iOSマルチタスク)。
これは、新しいVCをプッシュするコードです
UIViewController *newVC = [[UIViewController alloc] init];
UILabel *label = [[UILabel alloc] initWithFrame:self.view.bounds];
[label setTextAlignment:NSTextAlignmentCenter];
label.text = [NSString stringWithFormat:@"promo %i detail view",[sender tag]];
label.backgroundColor = [UIColor whiteColor];
[newVC.view addSubview:label];
[self.navigationController setNavigationBarHidden:NO animated:NO];
[self.navigationController pushViewController:newVC animated:YES];
そのView Controllerがポップされ、Navigation Controllerがメインページに戻ると、navigationBarが非表示になります。
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
if(viewController == self){
[self.navigationController setNavigationBarHidden:YES];
NSLog(@"%d", [self.scrollMenuBar isScrollEnabled]);
}
}
isScrollEnable をチェックすると true が返されます。
通常のモーダル ビューをプッシュしようとしましたが、同じ問題が発生します。