相关疑难解决方法(0)

如何在键盘上方添加工具栏?

我已经以UIToolBar编程方式创建了一个并UITextField在其上添加了一个.现在,当我点击另一个文本字段时,我需要将该工具栏放在键盘上方.

UIToolbar *toolBar=[[UIToolbar alloc]initWithFrame:CGRectMake(0,400, 320, 60)];
[self.view addSubview:toolBar];

UITextField *txtView=[[UITextField alloc]initWithFrame:CGRectMake(0, 400, 260, 30)];
txtView.backgroundColor =[UIColor  grayColor];
txtView.placeholder=@"Address";
UIBarButtonItem *txtfieldItem=[[UIBarButtonItem alloc]initWithCustomView:txtView];
toolBar.items =[NSArray arrayWithObject:txtfieldItem];
Run Code Online (Sandbox Code Playgroud)

uitextfield uitoolbar ios

68
推荐指数
5
解决办法
5万
查看次数

InputAccessoryView停靠在底部

我正在尝试实现与Apple的消息应用程序中底部文本输入栏类似的定位行为.

我尝试了许多方法,搜索高低,有许多类似的问题,但没有一个令人满意.

指定:

  1. UIToolbar视图的底部有一个
  2. 当键盘出现并消失时,工具栏将跟随键盘
  3. 当键盘可见时,工具栏应保持在键盘顶部
  4. 键盘隐藏后,工具栏将保持("停靠")在视图的底部

建议的解决方案:

手动设置工具栏的动画以响应键盘外观通知

此解决方案不符合第二个要求的特殊情况(工具栏是在键盘出现和消失时跟随键盘):

  • 在iOS 7中,UIScrollViewKeyboardDismissMode被介绍了.它启用了用于解除键盘的交互式手势.当用户翻过键盘的顶部边缘时,键盘框架逐渐跟随.此解决方案无法容纳此行为,只是将工具栏搁置在其动画位置.

此外,此解决方案也无法满足第三个要求的特殊情况(当键盘可见时,工具栏应保持在键盘顶部):

  • 回转.这个解决方案需要额外的,烦人的无关代码(我们将在下一个提出的解决方案中看到)来旋转工具栏以响应设备旋转.

此解决方案的另一个问题:

  • 键盘高度.使用此解决方案,工具栏不会被假定为键盘高度的一部分,因此必须编写其他代码以支持正确插入内容.

下一个提出的解

UIResponderinputAccessoryView

这个解决方案似乎是Apple打算支持这种行为的方式,因为它解决了手动设置工具栏动画的所有缺点.但是这个解决方案完全忽略了第四个要求(当键盘被隐藏时,工具栏保持("停靠")在视图的底部).


似乎解决方案是使用UIResponder's inputAccessoryView,但不知何故使得inputAccessoryView不移动到视图之下.我正在寻找干净的代码来实现这一目标.在其他地方有精心制作的,几乎是高贵的尝试,但如上所述,它们不符合要求.

在我的特定情况下,我希望使用UINavigationController工具栏,这需要额外的问题,因为这不是预期的行为UINavigationController.无论如何,我愿意介绍一些hacky修复来实现这一目标.

uitoolbar uinavigationcontroller uikeyboard uiresponder ios

46
推荐指数
4
解决办法
2万
查看次数

iPhone X如何处理View Controller inputAccessoryView?

我有一个消息传递应用程序,它具有全屏表格视图底部的文本字段的典型UI设计.我将该文本字段设置为视图控制器inputAccessoryView并调用ViewController.becomeFirstResponder()以使字段显示在屏幕底部.

我知道这是Apple推荐的实现这种UI结构的方法,它在"经典"设备上运行得很好但是当我在iPhone X模拟器上测试时,我注意到使用这种方法,文本字段不尊重新的"安全区域" .文本字段显示在主屏幕指示器下方屏幕的最底部.

我查看了HIG文档,但没有找到任何关于inputAccessoryView视图控制器的有用信息.

这很难,因为使用这种方法我实际上并没有直接控制任何约束,我只是设置inputAccessoryView并让视图控制器从那里处理UI.所以我不能仅仅把这个领域限制在新的安全区域.

有没有人在这方面找到了很好的文档,或者知道在iPhone X上运行良好的替代方法?

在此输入图像描述

iphone ios inputaccessoryview iphone-x

20
推荐指数
3
解决办法
1万
查看次数