如何在ios6中更改键盘方向

时间:2012-11-02 17:25:37

标签: iphone ipad keyboard ios6

我有问题。我正在开发像卢多这样的游戏。在此我必须为参与游戏的所有玩家创建文本字段。这些玩家可能在iPad的各个方向。而对于填写此文本字段的答案,用户可以使用iPad的键盘。但问题是我无法在iPad的各个方面打开键盘。

我正在使用 -

[[UIApplication sharedApplication] setStatusBarOrientation:toInterfaceOrientation animated:YES];

用于更改键盘的方向。它适用于较低的ios版本。但在ios6中,它无法正常工作。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

你有没有为ios 6写过定向方法?并允许您在.info plist文件中使用所有方向?

如果没有,那么就在这里写下来..

-(BOOL)shouldAutorotate
{
   return YES;
}
-(NSInteger)supportedInterfaceOrientations
{
   return UIInterfaceOrientationMaskAll;
}

然后尝试定位您的设备并让我知道它是否正常工作......!

快乐的编码!

答案 1 :(得分:0)

永远不要在

中返回YES
-(BOOL)shouldAutorotate
{
   return YES;
}

在AppDelegate中编写代码

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"_rotation"];

并改变上述方法

-(BOOL)shouldAutorotate
 {
    return [[NSUserDefaults standardUserDefaults] boolForKey:@"_rotation"];
 }

现在您要在应用程序中更改方向。将_rotation的上方标志设置为NO,并在调用statusBarOrientation方法后再次将其设置为YES。 这是因为只有当shouldAutorotate方法返回NO时,statusBarOrientation方法才会起作用。

[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"_rotation"];
[[UIApplication sharedApplication] setStatusBarOrientation:toInterfaceOrientation animated:YES];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"_rotation"];