【发布时间】:2016-11-29 19:00:00
【问题描述】:
我正在创建自定义键盘,但不想支持横向模式。因此,如果用户将设备旋转到横向模式,则键盘必须仍处于纵向模式。我尝试了以下方法:
-(BOOL)shouldAutorotate {
return NO;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationPortrait;
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
和
-(void)viewDidLoad{
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPotrait];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
}
但是这些方法都不起作用。旋转设备时触发的唯一方法是:
-(void)viewWillTransitionToSize:(CGSize)size
withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
在这里我得到旋转后的当前视图大小。但是如何停止旋转?任何帮助将不胜感激。
【问题讨论】:
-
这是你要找的东西吗:stackoverflow.com/questions/6941849/…
-
@Ariel :我已经尝试过了。不工作。
-
我也在制作自定义键盘,并使用自动布局来保持纵向和横向模式。我和你的情况一样。您现在是使用自动布局还是禁用自动布局?
-
我正在使用自动布局,但不支持横向模式。我希望纵向模式的同一个键盘也应该为横向模式打开。
-
我的键盘也使用自动布局。您是否注意到在设备上加载键盘时有 4-5 秒的延迟?我注意到我的键盘有 4-5 秒的延迟。还有,关于你的案子,朋友。恐怕我在使用仅限肖像的键盘方面有过不好的经历。当我切换到横向模式时,支持纵向的键盘只有糟糕的布局问题。似乎,自定义键盘必须首先确认请求键盘的应用布局。
标签: ios ios-app-extension custom-keyboard uideviceorientation viewwilltransitiontosize