我在运行模拟器的时候,点击硬件向右或者向左旋转,希望硬件旋转的时候,能调用一些方法!比如NSLog(@"Apple");
我查了一下,UIInterfaceOrientation orientation,通过orientation判断是否与UIInterfaceOrientationLandscapeLeft相等,判断硬件是否向左旋转,不知道这样判断对不对?

另外,我的判断模拟器旋转的代码,应该放到哪里呢?
我有几个视图控制器,分别控制不同的视图,是放在需要旋转的视图控制器下的-(BOOL)shoudAutorotateToInterfaceOrientation: 这个方法中吗?

求高手指点,敬谢!
版主 2# laigb 发表于 2012-2-16 15:00:28
是在-(BOOL)shoudAutorotateToInterfaceOrientation: 里判断
高级工程师 3# lingming 发表于 2012-2-16 16:34:41
laigb 发表于 2012-2-16 15:00
是在-(BOOL)shoudAutorotateToInterfaceOrientation: 里判断

具体怎么判断呢,比如只是让旋转时 调用NSLog("rotate");
超级版主 4# Gphone 发表于 2012-2-16 19:31:09
就放在-(BOOL)shoudAutorotateToInterfaceOrientation函数中
if(向左)
{
   NSLog();
return YES;
}
return NO;
高级工程师 5# lingming 发表于 2012-2-16 23:48:59
Gphone 发表于 2012-2-16 19:31
就放在-(BOOL)shoudAutorotateToInterfaceOrientation函数中
if(向左)
{

谢谢了,我有点2了!

我在一个视图控制器viewController.mm文件的
-(BOOL)shouldAutorotateInterfaceOrientation:
{
       if(UIInterfaceOrientationLandscapeLeft)
       {
              NSLog(@"OK");
              return YES;
       }
}

当我点击进入这个视图控制器控制的视图时,打印两次OK;
当我点击硬件旋转,向左旋转时,又打印两次OK;

这是什么原因呢? 为什么会出现这样的效果?
高级工程师 6# lingming 发表于 2012-2-17 00:22:31
lingming 发表于 2012-2-16 23:48
谢谢了,我有点2了!

我在一个视图控制器viewController.mm文件的

我犯了一个比较2的错误,
我现在判断是对了,
就是
if(interfaceOrientation==UIInterfaceOrientationLandscapeLeft)
{
      NSLog(@"");
      return YES;
}

不过依然会打印两次呢,这个还没有理解是为什么!
高级工程师 7# lingming 发表于 2012-2-22 13:46:56
Gphone 发表于 2012-2-16 19:31
就放在-(BOOL)shoudAutorotateToInterfaceOrientation函数中
if(向左)
{

本来还不太在意为什么旋转以后,函数打印两次,
现在不得不在意了,因为打印两次能正常显示,而打印一次却显示不出来!
打印一次应该是正常的,可是显示不正常;打印两次很奇怪,却能正常显示!
真心恳求高手指点指点!!!!
超级版主 8# Gphone 发表于 2012-2-22 19:45:36
显示不正常是什么情况,截个图看看
高级工程师 9# lingming 发表于 2012-2-23 11:13:10
Gphone 发表于 2012-2-22 19:45
显示不正常是什么情况,截个图看看

我的问题解决了,是我drawview里的代码前后位置放反了,
谢谢你了,同时也非常感谢回答问题的!
感谢!
您需要登录后才可以回帖 登录 | 注册

关于我们|手机版|Archiver|DEVDIV.COM ( 京ICP备07040843号 )  

GMT+8, 2012-5-19 17:31

Powered by DEVDIV.COM!

© 2010-2012 DEVDIV.COM Coummunity.

回顶部