ios 8自定义键盘出现延迟

标签 ios iphone ios8 custom-keyboard

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

最佳答案

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

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

无需使用约束,您可以轻松地在 View KeyboardViewController 的布局 subview 中自己编写代码:

    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;

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

    // 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

关于ios 8自定义键盘出现延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29537285/

相关文章:

ios 键盘未显示在设置中

javascript - Ionic iOS8 表单域焦点导致页面滚动不正确

ios - 是否可以在iPhone Setting Bundle中以编程方式添加UISwitch?

ios - 延迟覆盖 IBOutlet 对象的属性

iphone - 动态自定义单元格中的动态 TextView

iphone - 在缩放之后/期间更新 AnnotationView

每个设计的 iPhone Objective-C

ios - 在自定义应用程序中使用 Touch ID - 只有 5 个用户?

iphone - 代码 : lazy loading images from image data in core data

ios - SwiftUI:无法向下拖动来关闭 UIImagePickerController