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