方向在ios 5中不起作用,它在ios 6中工作

时间:2013-07-05 09:37:32

标签: ios5 orientation

在我的tabbar控制器应用程序中我有很多视图。所以我分类我的tabbar控制器就像这样。

   -(BOOL)shouldAutorotate
 {

   return [[self.viewControllers lastObject] shouldAutorotate];
  }

    -(NSUInteger)supportedInterfaceOrientations
  {
return [[self.viewControllers lastObject] supportedInterfaceOrientations];
 }

  - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
   {
return [[self.viewControllers lastObject] preferredInterfaceOrientationForPresentation];
   }

  - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation            { 
// Return YES for supported orientations
//return (interfaceOrientation == UIInterfaceOrientationPortrait);
return (UIInterfaceOrientationMaskAll);


}

并在我的视图控制器中

 - (BOOL)shouldAutorotate
{
return YES;
 }

 - (NSUInteger)supportedInterfaceOrientations
{
   return (UIInterfaceOrientationMaskPortrait|UIInterfaceOrientationMaskLandscapeLeft|UIInterfaceOrientationMaskLandscapeRight);

//OR return (UIInterfaceOrientationMaskAll);
 }

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation          {
// Return YES for supported orientations
//return (interfaceOrientation == UIInterfaceOrientationPortrait);
return (UIInterfaceOrientationMaskAll);



  }
    - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
 {
if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
    toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)
{

}
else
{

}
   }

我的问题是方向在ios 6中工作而不在ios 5中工作。 谢谢。

2 个答案:

答案 0 :(得分:2)

您应该在每个标签栏页面中编写此功能

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation          {

return YES;

}

//仅在需要时使用

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{

//your view changing code

}

答案 1 :(得分:1)

在视图控制器中为ios 5添加此代码

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

    return  UIInterfaceOrientationMaskLandscape | UIInterfaceOrientationMaskPortrait;

}