2011-09-16 18 views
0

私はオフラインでコメントを保存し、オフラインで保存するとコメントを編集できるView Controller(AddCommentViewController)を持っています。奇妙な振る舞いModalViewController

AddCommentViewController *addView = [AddCommentViewController new]; 

[addView setTitle:@"New Comment"]; 

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:addView]; 
[navController setModalPresentationStyle:UIModalPresentationFormSheet]; 

[delegate.navigationController presentModalViewController:navController animated:YES]; 
[delegate dismissPopOver:self animated:YES]; 
[navController release]; 
[addView release]; 

ここで問題ありませんが、ビューが下からきれいにアニメーション化され:私は新しいコメントを追加し、それをオフラインで保存するビューでAddCommentViewControllerをロードすると

は、問題はありません。そして解雇されたとき、それは底にうまくアニメされます。

しかし、今問題があります。

他のビューでは、オフラインで保存されたすべてのコメントのリストが表示されます。 AddCommentViewControllerをここにロードすると、何か変わったことが起こります。

私は左からアニメーション化されたビューモーダルを提示しようとすると、奇妙な位置(中央にはならず、buttom-right)で停止します。私がそれを却下すると、ビューは左側にアニメーション化され、他のビューはポートレートに向けられます。 は、私は、問題を見つけることができないよう、コードはほとんど同じです:

Comment *comment = [allComments objectAtIndex:indexPath.row]; 

AddCommentViewController *addView = [[AddCommentViewController alloc] initWithId:comment.identifier]; 

[addView setTitle:@"Change comment"]; 

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:addView]; 
[navController setModalPresentationStyle:UIModalPresentationFormSheet]; 
navController.navigationBar.tintColor = [UIColor P4aPurple]; 

[self presentModalViewController:navController animated:YES]; 

[navController release]; 
[addView release]; 

私は特定の向きでビューを強制しようとした:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
{ 
    return UIInterfaceOrientationIsLandscape(toInterfaceOrientation); 
} 

が、私はこのエラーを取得:

The view controller <UISplitViewController: 0x1843d0> returned NO from -shouldAutorotateToInterfaceOrientation: for all interface orientations. It should support at least one orientation. 

オフラインでデバイスを縦置きにしておけば、オフラインで正常に動作します。あなたは縦向きを強制する場合

答えて

0

はFIXED、それは分割の詳細ビューコントローラのビューが分割ビューコントローラでモーダルを提示する必要があることが判明していませんビュー。

0

、これを試してみてください。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{ 
    if (toInterfaceOrientation == UIInterfaceOrientationPortrait) 
     return YES; 
    else return NO; 
}