【发布时间】:2015-03-08 14:12:09
【问题描述】:
我正在开发 iOS 8 自定义键盘,但遇到以下问题:
每次用户触摸键盘(点击、滑动等)时,都会调用来自UIInputViewController 子类的- (void) viewDidLayoutSubviews{} 方法。我想避免这种情况,当用户触摸键盘时不需要调用它。
我还发现,如果我评论以下几行,当用户与键盘交互时,viewDidLayoutSubviews 将不再被调用:
NSLayoutConstraint *keyboardButtonLeftSideConstraint = [NSLayoutConstraint constraintWithItem:self.customKeyboardView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0.0];
NSLayoutConstraint *keyboardButtonBottomConstraint = [NSLayoutConstraint constraintWithItem:self.customKeyboardView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0.0];
[self.view addConstraints:@[keyboardButtonLeftSideConstraint, keyboardButtonBottomConstraint]];
但我无法摆脱这些限制,因为我需要它们来改变键盘的高度。我该如何解决这个问题?
【问题讨论】:
标签: ios objective-c ios8 keyboard custom-keyboard