http://gist.github.com/454844
实际上应该是键盘窗口的类发生了变化,由UIKeyboard变成了UIPeripheralHostView。
- (void)someSetupMethod {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillShow:)
name:UIKeyboardWillShowNotification object:nil];
}
- (void)someTeardownMethod {
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];
}
- (void)keyboardWillShow {
// We must perform on delay (schedules on next run loop pass) for the keyboard subviews to be present.
[self performSelector:@selector(addHideKeyboardButtonToKeyboard) withObject:nil afterDelay:0];
}
- (void)addHideKeyboardButtonToKeyboard {
// Locate non-UIWindow.
UIWindow *keyboardWindow = nil;
for (UIWindow *testWindow in [[UIApplication sharedApplication] windows]) {
if (![[testWindow class] isEqual:[UIWindow class]]) {
keyboardWindow = testWindow;
break;
}
}
if (!keyboardWindow) return;
// Locate UIKeyboard.
UIView *foundKeyboard = nil;
for (UIView *possibleKeyboard in [keyboardWindow subviews]) {
// iOS 4 sticks the UIKeyboard inside a UIPeripheralHostView.
if ([[possibleKeyboard description] hasPrefix:@"<UIPeripheralHostView"]) {
possibleKeyboard = [[possibleKeyboard subviews] objectAtIndex:0];
}
if ([[possibleKeyboard description] hasPrefix:@"<UIKeyboard"]) {
foundKeyboard = possibleKeyboard;
break;
}
}
if (foundKeyboard) {
// Add the button to foundKeyboard.
}
}
分享到:
相关推荐
CISCO FIRE WALL SERVICE MODULE IOS 3.2
opencv库在iOS设备上的开发版本(3.2),供大家来使用
iOS6完美越狱正式发布,全面支持所有能运行iOS6.X的设备,包括iPhone 3GS、iPhone 4、iPhone 4s、iPhone 5、iTouch 4、iTouch 5,iPad 2、iPad 3、iPad 4、iPad mini。 已通过virusscan扫描确认无毒 1.0.8
ios6.1 3.2 shsh
本篇将深入探讨如何在iOS中实现车牌号录入功能,并使用CollectionView来创建自定义键盘。 首先,我们从“自定义键盘”开始。在iOS中,系统自带的键盘可能无法满足某些特定场景的需求,例如车牌号录入可能需要特定的...
在iOS中,键盘的高度并非固定不变,它会根据设备的屏幕尺寸和当前使用的键盘类型(如全尺寸键盘、数字键盘或 Emoji 键盘)而变化。因此,开发者需要有一种机制来监听键盘的状态,以便在键盘弹出时动态调整输入栏的...
在iOS开发中,自定义键盘是一项常见的需求,它允许开发者为用户提供更为个性化和高效的操作体验。Objective-C作为苹果平台的主要编程语言之一,是实现这一功能的重要工具。本篇将深入探讨如何在iOS应用中创建自定义...
在iOS开发中,自定义键盘是一项常见的需求,它允许开发者为特定应用或场景提供更为个性化或功能丰富的输入体验。本文将深入探讨如何在Swift中实现iOS的自定义键盘。 首先,我们要了解iOS的键盘体系。iOS系统原生...
和IOS原生键盘基本一致,可以自定义键盘上的文字,对于一些什么偏远地区的语言IOS原来没有的,可以自定义文字。另外加了键盘的随机分布,只需要在初始化的时候设置isRandomKeyBoard属性,即可每次触发键盘时,键盘...
MinaUSB全新3.1发布,免费支持iOS14.3/14.4修补MinaUSB工具更新发布了3.1版本,免费支持对14.3、14.4的修补。 使用此工具进行修补,就可以完美解决越狱时候提示错误-20的问题。 支持以下型号修补14.0~14.4,支持...
4. **UIInputViewController**: 自定义键盘通常基于`UIInputViewController`类,它是iOS 8及更高版本中引入的一个新控制器,用于创建自定义输入视图,如键盘。 5. **Text Input Delegate**: 实现键盘的输入功能,...
在iOS开发中,为了提供更好的用户体验,我们经常需要自定义特定场景下的键盘。例如,在输入身份证号码时,用户需要一个纯数字键盘,因为身份证号码仅包含数字,且不涉及字母或特殊字符。标准的数字键盘...
在iOS开发中,特别是在涉及到用户输入的界面设计时,了解并适当地处理键盘的显示与隐藏,特别是键盘的高度变化,是非常关键的一个环节。这个“ios-监听键盘高度(包括第三方键盘)”的压缩包文件提供了一个解决方案...
"ios-键盘自适应.zip"文件显然提供了一个解决方案,旨在帮助开发者实现键盘弹出时视图的自动适配,确保用户体验流畅。下面将详细阐述这一技术要点。 首先,我们需要了解iOS中的通知中心(NotificationCenter)。它...
在iOS开发中,自定义键盘是一项常见的需求,它允许开发者为特定应用或用户场景提供更加个性化的输入体验。本文将深入探讨如何在iOS平台上创建一个支持英文大小写切换、数字及部分符号输入的自定义键盘。 首先,我们...
在iOS开发中,一个随机密码键盘的实现是一个常见的需求,特别是在设计安全性较高的应用时,如银行、支付或个人信息管理类应用。"ios-自制随机密码键盘.zip"中的内容可能包含了一个自定义键盘的源代码,用于生成随机...
在iOS开发中,处理键盘高度自适应是一项常见的需求,特别是在设计具有输入框的界面时,为了提供良好的用户体验,我们需要确保键盘弹出时,输入框不会被遮挡。"ios-键盘高度自适应.zip"这个压缩包文件很可能包含了...
当不再需要使用虚拟键盘时,只要点击虚拟键盘和编辑区域外的地方,就可以将键盘收起,下面程式码是在 UIView 中内建的触碰事件方法函式,您可以参考 Touch Panel / 触碰萤幕 / 压力感应器的基本使用方式一文,找到更...
在iOS开发中,创建一个与微信键盘相似的自定义键盘是一项常见的需求,这不仅可以提供更加个性化的用户体验,还可以根据应用的特定需求进行功能定制。"ios-底仿微信键盘.zip"是一个包含实现这一目标资源的压缩包。在...
标题"iOS解决输入框被键盘遮挡问题"直指这一常见痛点,描述指出了解决方案——在键盘弹出时,界面向上移动以确保输入框始终可见。以下将详细阐述如何处理这个问题。 首先,我们需要理解iOS中的键盘管理机制。当用户...