首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS 5:输入占位符没有明确的焦点,只有输入,错误或功能?

问iOS 5:输入占位符没有明确的焦点,只有输入,错误或功能?
EN

Stack Overflow用户
提问于 2012-02-02 22:10:27
回答 2查看 1.5K关注 0票数 1

在iOS 5模拟器中使用我的web应用程序时,我注意到iOS 5不会立即清除占位符,只有在第一次输入之后才会清除。在所有其他版本的iOS以及所有桌面浏览器上,当用户将注意力集中在输入上时,占位符会立即清除。我现在无法访问iOS 5设备,但我非常怀疑这是一个模拟器错误。

这是一个bug还是有意为之?奇怪的是,我在网上只找到了一个关于这种行为的引用,就在这里:clearing input placeholder in iOS5

有没有解决这个问题的办法?当占位符不能立即清除时,对用户来说是非常令人沮丧的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-02 22:35:55

我想你错了-- iOS文本字段总是这样的。

我不明白为什么这会让用户感到沮丧。如果有什么不同的话,那就是帮助程序文本在他们开始键入之前保持可见,以防他们在选择字段之前错过了它。

可能会让您感到困惑的是,iOS字段有一个单独的可选行为,即在选择字段时清除文本,但请注意,这是实际清除的文本,而不是占位符文本。

占位符文本是浅灰色的文本,在用户键入内容之前,它始终显示。

内容文本(通常为黑色)有时在字段被聚焦时清除,有时不清除,这取决于UITextField的配置方式。

您链接到的SO问题中的jQuery解决方案应该允许您复制此功能的任何变体,但我个人建议坚持使用iOS约定,即在用户键入内容之前不清除帮助文本。

票数 2
EN

Stack Overflow用户

发布于 2012-02-02 22:17:48

这不是一个bug,而是一个特性。您可以使用委托方法清除占位符。(UITextFieldDelegate http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextFieldDelegate_Protocol/UITextFieldDelegate/UITextFieldDelegate.html)

代码语言:javascript
复制
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
  [textField setPlaceholder:@""];
}

adn编辑完成后应控制其为空。

代码语言:javascript
复制
- (void)textFieldDidEndEditing:(UITextField *)textField
{
  if ([textField.text isEqualToString:@""])
    [textField setPlaceholder:@"Placeholder Text"];

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9113764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档