我为ios设备实现自定义键盘。 我为英语qwerty构建了一个布局,并在加载视图时加载它
self.keyboard = [[[NSBundle mainBundle] loadNibNamed:@"Keyboard" owner:nil options:nil] objectAtIndex:0];
self.inputView = (UIInputView*)self.keyboard;
我需要添加一个选项来更改具有不同布局和高度大小的3x4键盘的布局。
如何在点击按钮后更改布局?
由于
这是我尝试的:
self.keyboardSmall = [[[NSBundle mainBundle] loadNibNamed:@"KeyboardSmall" owner:self options:nil] objectAtIndex:0];
self.inputView = (UIInputView*)self.keyboardSmall;
_heightConstraint = [NSLayoutConstraint constraintWithItem: self.view
attribute: NSLayoutAttributeHeight
relatedBy: NSLayoutRelationEqual
toItem: nil
attribute: NSLayoutAttributeNotAnAttribute
multiplier: 0.0
constant: 10.0];
[self.inputView addConstraint: _heightConstraint];
但它加载了一个新视图(例如只有一行),具有预览视图的高度(3行),非常普遍。
答案 0 :(得分:0)
从您的问题来看,您认为自定义键盘只是一个简单的UIView。
现在要更改该视图的高度,您需要在自动布局视图中有一个固定高度约束,现在需要在自定义UIView对象上设置高度约束IBOutlet
。然后,只要您想要更改该视图的高度,您只需要更改高度constratint的IBoutlet的常量值。