如何在iOS自定义键盘中切换单词选择视图(更改高度)?
我想在iOS8自定义键盘中添加一个与上面类似的单词选择视图如何在iOS自定义键盘中切换单词选择视图(更改高度)?,ios,ios8,ios-app-extension,Ios,Ios8,Ios App Extension,我想在iOS8自定义键盘中添加一个与上面类似的单词选择视图 如何动态更改键盘视图矩形的大小?及 通知活动应用程序(如内置消息应用程序)相应地重新定位输入栏 更新:基于,键盘高度可定制。这怎么可能呢 您想根据输入更改输入附件视图的大小和内容。不是键盘的框架(输入视图)。用红色矩形标记的区域是处于两种不同状态的输入附件视图 UIKit发布与键盘相关的通知 ui键盘将显示通知 UIKeyboardDidShowNotification UIKeyboardWillHideNotification
您想根据输入更改输入附件视图的大小和内容。不是键盘的框架(输入视图)。用红色矩形标记的区域是处于两种不同状态的输入附件视图
UIKit
发布与键盘相关的通知
ui键盘将显示通知
UIKeyboardDidShowNotification
UIKeyboardWillHideNotification
UIKeyboardDidHideNotification
UITextFieldDelegate
的textField:shouldChangeCharactersRange:replacementString:
方法或侦听UITextFieldTextDidChangeNotification
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(handleTextFieldDidChangeNotification:)
name:UITextFieldTextDidChangeNotification
object:_textFieldInInputAccessoryView];
处理文本更改。
关键是在文本字段发生更改时更改输入附件视图内容和大小。UIKit将输入附件视图连接到输入视图(键盘)的顶部。如果要在文本字段下方添加一行控件,则必须更新输入附件视图的框架
- (void)handleTextFieldDidChangeNotification:(NSNotification *)notification
{
// Update the contents/frame of the input accessory view.
// Reload the input views.
[_yourTextField reloadInputViews];
}
基于文本,您不能使用iOS 8中的自定义键盘API将键盘扩展到默认帧之外。今年,我在WWDC向一位苹果工程师提问时就知道了这一点。在当前的iOS 8中,可以更改键盘的大小 从文档中逐字摘录:“在iOS 8.0中,您可以在自定义键盘的主视图最初在屏幕上绘制后随时调整其高度。” 要调整自定义键盘的大小,请添加简单的布局约束
CGFloat _expandedHeight = 500;
NSLayoutConstraint *_heightConstraint =
[NSLayoutConstraint constraintWithItem: self.view
attribute: NSLayoutAttributeHeight
relatedBy: NSLayoutRelationEqual
toItem: nil
attribute: NSLayoutAttributeNotAnAttribute
multiplier: 0.0
constant: _expandedHeight];
[self.view addConstraint: _heightConstraint];
有关更多信息,请查看苹果的预发布文档 我的问题是关于在自定义键盘内扩展视图维度。这与如何从应用程序使用附件视图无关。自定义键盘是iOS 8的新功能。对这个问题的回答有一个小小的修正:输入附件视图中突出显示的区域太大了-它应该只是一行建议的单词。上面的控件属于原始文本字段。很遗憾知道。谢谢你的信息!此信息在最新Beta版本中已过时。键盘可以调整大小。请参阅本节:并在此页(在浏览器中)上搜索“高度”。引用文档——“在iOS 8.0中,在自定义键盘的主视图最初在屏幕上绘制之后,您可以随时调整其高度。”但是,您仍然无法在您请求的任何帧之外绘制。考虑截图。我已经将键盘(现在只是一个黑色视图)垂直调整为320点(比平常大),并在顶部添加了一个黄色子视图,高度为40点。但只显示了20个点,因为键盘无法在其边界之外绘制。粗略的例子,但它工作。@DevKanchen非常有趣,谢谢你提供的信息。您好,我正在使用xocde beta 5和beta 6,希望增加键盘高度,但仍然无法工作。我使用的电源线与apple doc中提供的电源线相同。问题是什么?帮助我