Tag: uikeyboard

如何在closures整个应用程序时closures键盘

我在popup键盘的不同viewController中有多个textFields。 我知道如何在用户点击屏幕的不同部分时closures键盘,但我不想去硬编码到我的应用程序的每个angular落。 那么,无论如何,当用户在键盘以外的任何地方点击屏幕时,强制键盘在应用程序的任何地方都会被解散。 我正在考虑扩展UIViewController,但我也有一些视图,我添加为子视图中的一些textFields。 也许有可能是我自己扩展TextField类?

在iOS 7上,viewDidDisappear后键盘不会消失

在我们的应用程序中,有一种情况是用户在文本框中input内容,然后按下后退button返回到主屏幕。 如果我们在iOS 7上运行它,键盘不会消失,它只是停留在那里。 用户仍然可以浏览应用程序,但所有文本字段都被禁用,这意味着您无法在任何地方input文本。 用户唯一的select是杀死应用程序,并开始新鲜。 我们尝试添加resignFirstResponder消息,但是这没有任何帮助。 涉及的代码很多,我们正在积极研究这个问题。 同时, 有没有人遇到过这个问题,也许有办法让它消失?

iOS:如何获取当前可见的键盘types?

我如何知道键盘是数字,Twitter,电子邮件等? 编辑:有没有办法检测键盘types而不使用sockets?

是否有任何通知发送键盘更改时(如从NumberPad到默认)

我想弄清楚如何在键盘改变时得到通知。 我想要做的是添加一个完成button键盘types4和5(NumberPad和PhonePad),一切工作正常,除了当我从一个TextField使用默认的KBtypes转换,通知KeyboardDidAppear不是被解雇。 这是我得到的: – (void)viewDidLoad { [super viewDidLoad]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil]; } 然后,我为当前的KBtypes和正在编辑的当前TextField添加了一个Property: #pragma mark – Delegate Methods -(BOOL)textFieldShouldBeginEditing:(UITextField *)textField { self.currentKBType = textField.keyboardType; self.curTextField = textField; return YES; } 然后我根据当前的KBtypes决定是否添加DONEbutton: – (void)keyboardDidShow:(NSNotification *)note { if (self.currentKBType == 4 || self.currentKBType == 5) { [self addButtonToKeyboard]; } } 问题是通知在显示键盘时触发,而不是在更改时(从一个TextField转换到另一个指定不同KBtypes的另一个TextField)。 有什么build议么? 我错过了什么吗?

UIScrollViewKeyboardDismissModeInteractive用键盘改变tableview的高度

在一个UIViewController我设置self.tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive 。 这很好,因为用户可以从桌面视图拖动键盘。 但是,当拖动键盘时,tableview保持当前的高度。 这看起来很奇怪,因为它留下了键盘和滚动视图之间的空白空间。 我如何持续跟踪键盘的框架,以便在用户拖动键盘时调整tableview的大小? 我试过使用UIKeyboardWillChangeFrameNotification但似乎只有在用户完成拖动后才能调用。

UIKeyboard在iOS7中不会自动半透明

据我所知,在使用Xcode 5和iOS 7项目进行开发时,与UITextField交互时popup的键盘应该是半透明的,并通过背景中的任何颜色显示。 这两个项目都不是这种情况。 我有一个有色和模糊的背景,我希望通过键盘发射, 但键盘仍然是默认的白色/灰色。 这是我到目前为止的演示: UIColor *tintColor = [UIColor colorWithWhite:0.21 alpha:0.4]; UIColor *background = [[UIColor alloc] initWithPatternImage:[[UIImage imageNamed:@"universe.jpg"] applyBlurWithRadius:19 tintColor:tintColor saturationDeltaFactor:1.8 maskImage:nil]]; self.view.backgroundColor = background; UITextField *text = [[UITextField alloc] initWithFrame:CGRectMake(200, 200, 300, 60)]; [self.view addSubview:text]; 我甚至试图将键盘外观types设置为UIKeyboardAppearanceDefault和UIKeyboardAppearanceLight 有人可以请指导/告诉我怎样才能达到键盘半透明效果? 这应该是自动的? 谢谢 编辑1: 我有iPad mini,iPad 3代和iPad 4都带有视网膜显示器。 运行iOS 7.0.2

如何隐藏inputAccessoryView而不closures键盘

我在textView的inputAccessoryView属性中使用了一个工具栏。 键盘显示时,按预期显示工具栏。 当设备旋转时,我想要删除工具栏。 我试过了: myTextView.inputAccessoryView.hidden = !layoutIsPortrait; 这确实隐藏了工具栏,但留下了较高键盘的轮廓。 键盘显然仍然大小适合工具栏。 它看起来不好,并干扰潜在响应者的触摸事件。 myTextView.inputAccessoryView = nil; 只有当我resignFirstResponder,然后再成为FirstResponder。 这是不可接受的。 我丢失了textView的光标位置和内容,键盘闪烁而出。 [myTextView.inputAccessoryView removefromSuperview]; 什么也没做。 我保存了一个iVar中的工具栏的引用,并解决这个问题, [myIvarReference removeFromSuperview]; 这有效,但键盘的高度轮廓再次隐约可见。 这一次它不会影响其他观点的触动。 所以现在这是一个工作的解决scheme,但在视觉上不能接受。 还有什么我可以尝试显示和隐藏inputAccessoryView随意? 屏幕截图 – 键盘上方模糊的线条是被删除的工具栏的剩余部分

使UITextView父项成为它自己的inputAccessoryView

我想实现类似的消息在iOS 7中的键盘交互。我有一个包含UITextView的UIView ,当用户select它开始input时,我想使这个UIView为inputAccessoryView 。 这将照顾我的animation,以及在iOS 7新的UIScrollView键盘closures交互。 当UITextView开始编辑时,我试图将其inputAccessoryView设置为其父级UIView (已经在视图层次结构中)。 键盘出现,但没有附件视图。 我读过一些人正在使用一组UITextField来完成这个工作,但是这似乎是一个不好的方法来实现这个。 有什么build议么?

由NSNotificationCenter给出的键盘大小

我想从UISearchBar调用的键盘上添加一个accessoryView。 由于UISearchBar没有实现这个属性,我刚刚创build了一个工具条。 继苹果关于此事的文档之后,我决定使用通知中心不仅要知道何时调用键盘,还要知道键盘的大小,这取决于方向。 我已经按照文档上的例子,并在keyboardWasShown方法,我调用一个animation,将显示在键盘上的工具栏。 像这样的东西: -(void)keyboardWasShown:(NSNotification*)aNotification { NSDictionary *info=[aNotification userInfo]; CGSize keyboardSize=[[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size; NSLog(@"width: %.1f; heigth: %.1f", keyboardSize.width, keyboardSize.height ); [self showAccessoryView:keyboardSize.height]; } 而在animation上,我这样设置工具栏的框架: self.auxiliaryKeyboardBar.frame=CGRectMake(0, self.view.frame.size.height-(44+kbh), self.view.frame.size.width, 44); 其中44是工具栏的静态高度,kbh是从上面的方法传递的keyboard.size.heigth。 我观察到的问题是由userInfo Dictionary给出的键盘大小总是被引用到纵向方向。 所以,NSLog的纵向定位是: width: 320.0; heigth: 216.0 width: 320.0; heigth: 216.0 ,没关系 但是当我改变方向为风景,我打电话给键盘,NSLog如下: width: 162.0; heigth: 480.0 width: 162.0; heigth: 480.0 ,这使得工具栏超出了范围。 所以,我最终在调用animation之前添加了一个条件,例如: if ([self […]

UIKeyboardDidShowNotification多次调用,有时使用不正确的键盘尺寸

我试图在键盘出现/更改时移动键盘上方的UITextView。 比方说,我有英文键盘显示,然后直接切换到中文键盘(这是比标准的英文键盘高)。 在这种情况下,我的文本视图总是显得过高(肉眼看来,文本视图不正确地偏移了中文键盘的大小“input配件视图”),我会张贴图像,但缺乏声誉所以:))。 当我的应用程序收到一个UIKeyboardDidShowNotification(使用UIKeyboardFrameEndUserInfoKey获取高度),以及一些调查UIKeyboardDidShowNotification被调用多次,经常与不正确的键盘尺寸 (我NSLogged userInfo字典)调整我的文本视图位置。 我在ViewWillAppear中注册我的键盘通知,并在ViewWillDisappear中取消注册。 我无法确定什么可能导致此通知多次触发; 我的理解是这个通知只能在键盘完成显示之后被触发一次。 另外需要注意的是:在响应UIKeyboardDidShowNotification的方法中,我已经NSLogged'self',事实上它总是与View Controller Object相同。 但是,即使这个通知多次触发,我仍然不明白为什么键盘高度会因这些通知中的一些而不同。 其中一个通知总是有正确的高度,但是当它不是最后一个通知时,文本视图结束了错误的地方。 任何有关如何进一步排除故障的见解将不胜感激! 编辑:我testing越多,似乎是与中文键盘具体问题。 每当我把键盘从英文切换到中文,我得到三个UIKeyboardWillShowNotifications: 2014-12-24 22:49:29.385 Example[1055:421943] info dictionary: { UIKeyboardAnimationCurveUserInfoKey = 0; UIKeyboardAnimationDurationUserInfoKey = 0; UIKeyboardBoundsUserInfoKey = "NSRect: {{0, 0}, {320, 252}}"; UIKeyboardCenterBeginUserInfoKey = "NSPoint: {160, 460}"; UIKeyboardCenterEndUserInfoKey = "NSPoint: {160, 442}"; UIKeyboardFrameBeginUserInfoKey = "NSRect: {{0, 352}, {320, 216}}"; UIKeyboardFrameEndUserInfoKey = […]