2013-11-03 64 views
1

我在我的遊戲中使用Facebook SDK以在Facebook上發佈一些分數。 我的代碼使用Cocos2D框架,所以我不得不添加一些代碼來啓用UIView的使用。 一切工作正常,除了儘管事實上,我的筆尖屬性指示風景,ShouldautoRotate方法返回風景,並且應用程序的方向也是風景,縱向出現視圖。 這裏是設置視圖代碼:過渡UIViews

// share to facebook methods 
-(void)shareFacebookSelected 
{ 
[[SimpleAudioEngine sharedEngine]stopBackgroundMusic]; 
[[CCDirector sharedDirector] pause]; 

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { 
    myViewController1 = [[HFViewController alloc] initWithNibName:@"HFViewController_iPhone" bundle:nil]; 

} else { 
    myViewController1 = [[HFViewController alloc] initWithNibName:@"HFViewController_iPad" bundle:nil]; 
} 


UIWindow* window = [[[UIApplication sharedApplication] windows] objectAtIndex:0]; 

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:0.75]; 
[UIView setAnimationBeginsFromCurrentState:YES]; 
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:window cache:YES]; 


[[[CCDirector sharedDirector]view] removeFromSuperview]; 

myViewController1.view.hidden = false; 

[window addSubview:myViewController1.view]; 


[UIView commitAnimations]; 

}

我還啓用了一個按鈕,返回到正常茯苓遊戲和清除即使我的主要遊戲方位已更改爲UIView的,但在返回肖像。

任何想法???

+0

你可以附上一張照片顯示發生了什麼? –

回答

0

以下行解決我的問題:

#define DegreesToRadians(x) ((x) * M_PI/180.0) 
CGRect screenRect = [[UIScreen mainScreen]bounds]; 
myViewController1.view.transform = CGAffineTransformMakeRotation(DegreesToRadians(90)); 
myViewController1.view.hidden = false; 
myViewController1.view.frame = screenRect; 

我基本上旋轉角度90度,沒有最完美的解決方案,只是蠻力,但它的工作原理。我仍然想知道它爲什麼會呈現它的方式,哦,