如何在自定义键盘中确定设备方向

时间:2014-10-30 13:08:28

标签: ios8 custom-keyboard ios8-extension

我正在为iOS8构建自定义键盘。 我希望我的键盘支持纵向和横向模式。 如何确定设备方向? 获取设备方向目前在自定义键盘中效果不佳。

3 个答案:

答案 0 :(得分:1)

可以使用

willRotateToInterfaceOrientationdidRotateFromInterfaceOrientation,虽然它们已在iOS 8中弃用。但是,它们的替换willTransitionToTraitCollection在轮换时不会被调用,但可能因为特征集合没有& #39; t改变键盘。

答案 1 :(得分:0)

不幸的是,用于确定设备方向的标准方法在iOS8自定义键盘中还不起作用。

您可以通过检查设备宽度和高度之间的比率来确定设备方向。 身高> width = portrait 宽度> height = landscape

答案 2 :(得分:0)

您可以使用此方法:

typedef NS_ENUM(NSInteger, InterfaceOrientationType)
{
    InterfaceOrientationTypePortrait,
    InterfaceOrientationTypeLandscape
};

- (InterfaceOrientationType)orientation
{
    InterfaceOrientationType result;

    if([UIScreen mainScreen].bounds.size.width < [UIScreen mainScreen].bounds.size.height)
    {
        result = InterfaceOrientationTypePortrait;
    }
    else
    {
        result = InterfaceOrientationTypeLandscape;
    }

    return result;
}