ios 8个自定义键盘延迟出现

ios 8 custom keyboard Appear with Delay

我已经使用 Objective c 创建了自定义键盘并使用了 nib 文件进行键盘设计,我的问题是当我将键盘更改为我的自定义键盘时它会出现一些延迟,我尝试了很多方案但没有得到任何成功。请帮我解决这个问题,我们将不胜感激。 提前致谢。

如果您正在使用自动布局,请尝试手动布局您的子视图。对我来说,当我退出 AutoLayout 时,我的键盘立即出现,没有延迟。在我有之前,我有大约一秒钟的延迟。

例如:
第一行键盘:q w e r t z u i o p
q 的前导 space 为 15 px
p 的尾部 space 为 15 px
q w e r t z u i o p 的间距为 5 px,它们的宽度相同

您可以轻松地在视图的布局子视图中自己编写代码,而不是使用约束 KeyboardViewController:

    NSUInteger numberOfRows = 4;
    CGFloat horizontalSpacing = 5.0;
    CGFloat verticalSpacing = 12.0;
    CGFloat leadingSpacingFirstRow = 3.0;
    CGFloat trailingSpacingFirstRow = 3.0;
    CGFloat topPadding = 25.0;
    CGFloat bottomPadding = 3.0;
    CGFloat width = ( self.bounds.size.width - leadingSpacingFirstRow - trailingSpacingFirstRow - horizontalSpacing * (numberOfButtonsFirstRow - 1) ) / numberOfButtonsFirstRow;
    CGFloat height = ( self.bounds.size.height - topPadding - bottomPadding - verticalSpacing * (numberOfRows - 1) ) / numberOfRows;

现在您可以将按钮放在您的视图中:

    // create row 1
    for (NSUInteger i=0; i<numberOfButtonsFirstRow; i++) {
        UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(leadingSpacingFirstRow + i * width + i * horizontalSpacing, topPadding, width, height)];

        [self addSubview:v];
    }

这个景象可能对你有帮助 the-trials-and-tribulations-of-writing-a-3rd-party-ios-keyboard