ios 8自定义键盘出现延迟

时间:2015-04-09 11:27:58

标签: ios iphone ios8 custom-keyboard

我已经使用Objective c创建了自定义键盘并使用了nib文件进行键盘设计,我的问题是,当我将键盘更改为我的自定义键盘时,它出现了一些延迟,我尝试了很多场景但没有获得任何成功。请帮我解决,帮助将不胜感激。 在此先感谢。

1 个答案:

答案 0 :(得分:1)

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

例如:
第一排键盘:q w e r t z u i o p
q的领先空间为15像素 p的尾随空间为15像素 如果它的间距为5像素,它们具有相同的宽度

您可以在视图的layoutSubviews中自行编码,而不是使用约束,而不是使用约束。您可以使用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