标签: uikeyboard

HW kbd无法设置(null)键盘焦点ios

在我的iOS应用崩溃日志中,我发现了以下声明:

HW kbd Failed to set (null) as keyboard focus ios
Run Code Online (Sandbox Code Playgroud)

有谁知道这是什么以及如何解决它?

crash-reports xamarin.ios uikeyboard ios

66
推荐指数
1
解决办法
5783
查看次数

UI测试删除文本字段中的文本

在我的测试中,我有一个带有预先存在的文本的文本字段.我想删除内容并键入新字符串.

let textField = app.textFields
textField.tap()
// delete "Old value"
textField.typeText("New value")
Run Code Online (Sandbox Code Playgroud)

用硬件键盘删除字符串时没有为我生成记录.用软件键盘做同样的事后我得到了:

let key = app.keys["Usu?"] // Polish name for the key
key.tap()
key.tap() 
... // x times
Run Code Online (Sandbox Code Playgroud)

要么

app.keys["Usu?"].pressForDuration(1.5)
Run Code Online (Sandbox Code Playgroud)

我担心我的测试是依赖于语言的,所以我为我支持的语言创建了类似的东西:

extension XCUIElementQuery {
    var deleteKey: XCUIElement {
        get {
            // Polish name for the key
            if self["Usu?"].exists {
                return self["Usu?"]
            } else {
                return self["Delete"]
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它在代码中看起来更好:

app.keys.deleteKey.pressForDuration(1.5)
Run Code Online (Sandbox Code Playgroud)

但它非常脆弱.从模拟器退出后Toggle software keyboard重置,我有一个失败的测试.我的解决方案不适用于CI测试.如何解决这个问题更加普遍?

uitextfield uikeyboard swift xcode7 xcode-ui-testing

63
推荐指数
6
解决办法
3万
查看次数

触摸UITextField外的任何地方时如何解除键盘(在swift中)?

我正在开发一个具有UIViewController的项目,在视图控制器上,在scrollview上有一个UIScrollView和一个UITextField.像这样: 我正试图解除键盘并在文本字段中键入一些文本后隐藏它并点击文本字段外的任何位置.我试过以下代码:

override func viewDidLoad() {
    super.viewDidLoad()
    self.textField.delegate = self;
}

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
    self.view.endEditing(true)
}
Run Code Online (Sandbox Code Playgroud)

当我在滚动视图外面点击时它适用于我,但当我点击滚动视图时没有任何反应,键盘也不会隐藏.

点击文本域外的任何位置时有没有办法解除键盘?谢谢

uitextfield uikeyboard ios swift

60
推荐指数
7
解决办法
7万
查看次数

更改"返回"键盘按钮的文本

如何将"返回"按钮的标准文本更改为其他内容?

我希望它是"添加".

cocoa-touch uikeyboard ios

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

使用uiTextView关闭键盘

我确信这并不困难,但我无法使用textview而不是文本字段查找有关如何使用return/done键解除键盘的信息.这是我到目前为止尝试过的(与文本字段一起使用.)

非常感谢您的任何帮助!

//  PostTravelQuestion.swift

class PostTravelQuestion: UIViewController, UITextViewDelegate {

    @IBAction func closepostpage(sender: AnyObject) {
        dismissViewControllerAnimated(true, completion: nil)
    }


    @IBOutlet var postquestion: UITextView!


    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
        postquestion.delegate = self
    }

    self addDoneToolBarToKeyboard:self.textView


    /*func textViewShouldEndEditing(textView: UITextView) -> Bool {

        textView.resignFirstResponder()

        return true
    }*/

    /*override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        postquestion.resignFirstResponder()
        self.view.endEditing(true)
    }*/



    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    func textViewShouldReturn(textView: …
Run Code Online (Sandbox Code Playgroud)

uitextview uikeyboard swift xcode6

52
推荐指数
4
解决办法
6万
查看次数

不推荐使用UIKeyboardBoundsUserInfoKey,而是使用什么?

我正在使用3.2 sdk开发iPad应用程序.我正在处理获取键盘大小以防止我的文本字段隐藏在它后面.

我在Xcode中收到警告 - > UIKeyboardBoundsUserInfoKey已弃用,我应该使用什么而不是获取此警告?

iphone objective-c uikeyboard iphone-sdk-3.2 ios

50
推荐指数
3
解决办法
4万
查看次数

在iOS8中使用.focus()会在触摸后显示虚拟键盘和滚动页面

在iOS8之前,.focus()在输入元素上使用Javascript 方法似乎没有效果(虚拟键盘不会显示).在最新的iOS 8版本之后,运行该.focus()方法似乎对页面加载没有影响,但是一旦用户触摸屏幕上的任何地方,虚拟键盘将立即出现并将页面滚动到焦点对准的元素.(当我使用HTML属性"autofocus"时,这也是一个问题)

此更改导致我的网站上的iOS8用户出现问题.当用户尝试单击页面上的按钮时,突然滚动和键盘外观会导致他们无意中单击屏幕下方的按钮.

我假设这是iOS8中的一个错误而不是故意的功能,我的问题是解决这个问题最有效的解决方案是什么?

navigator.userAgent每次使用该.focus()方法时,是否必须检查设备是否为iOS8 ?

javascript uikeyboard autofocus ios

48
推荐指数
2
解决办法
3万
查看次数

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万
查看次数

iOS - 如何预加载键盘?

问题

在大多数iPhone应用程序中,第一次出现键盘时会出现相当长的延迟(可能是创建键盘需要相当多的功能,即使在iPhone 4上也是如此).

大多数人看起来都很好.我不是,它真的让我感到烦恼 - 以及我的应用程序呈现方式,用户会非常困惑,他们第一次点击文本字段时几秒钟都没有发生任何事情.


我试过的

谷歌搜索引出了一个解决方案 - 不幸的是,从iOS 4开始这是无效的(见这里).

我不希望这个解决方案很容易找到,如果我可以直接给我一个赏金.如果有人想出解决方案,我会非常激动.解决方案需要做的就是在用户不知情的情况下加载键盘.


所以..

任何想法都表示赞赏.完整的工作代码(适用于iOS 4和5)值得赏心悦目(即使赏金必须在以后出现!).

如果找到解决方案,我计划创建一个自包含的"KeyboardPreloader"类,人们可以将其放入他们的项目中,并使用一行代码预加载键盘:)

performance objective-c uikeyboard ios

39
推荐指数
3
解决办法
6342
查看次数

Autolayout约束 - 键盘

我试图平滑地制作一个具有自动布局约束的桌面视图.我在我的.h中引用了约束"keyboardHeight",并在IB中将其链接起来.我想要做的就是在弹出窗口时用键盘为表格视图设置动画.这是我的代码:

- (void)keyboardWillShow:(NSNotification *)notification
{
    NSDictionary *info = [notification userInfo];
    NSValue *kbFrame = [info objectForKey:UIKeyboardFrameEndUserInfoKey];
    NSTimeInterval animationDuration = [[info objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
    CGRect keyboardFrame = [kbFrame CGRectValue];
    CGFloat height = keyboardFrame.size.height;

    [UIView animateWithDuration:animationDuration animations:^{
        self.keyboardHeight.constant = -height;
        [self.view setNeedsLayout];
    }];
}
Run Code Online (Sandbox Code Playgroud)

事情是动画块是瞬时的,我看到在键盘完成动画之前出现了空格.所以基本上我看到视图的白色背景,因为键盘是动画.只要键盘是动画,我就无法使动画持续.

我接近这个错误的方式吗?提前致谢!

objective-c uikeyboard ios autolayout

33
推荐指数
3
解决办法
2万
查看次数