【问题标题】:Is there a way to programmatically turn on the 'shift' (capitalize) key in iOS?有没有办法以编程方式打开 iOS 中的“shift”(大写)键?
【发布时间】:2012-10-21 23:20:52
【问题描述】:

我有一个 UITextView,我会自动在里面写上日期。然后我想让光标在日期之后,按下 shift(大写)按钮,这样用户就可以开始输入,第一个字母将大写。

这可能吗?我该怎么做?

感谢您的帮助! 谢谢, 回复

【问题讨论】:

  • 很好奇 - 您是否尝试过将文本设置为以句点和空格结尾,然后将光标放在末尾?这会自动打开shift键吗?文本视图是否设置为大写句子?
  • 是的,这行得通。我只是不想在那里过一段时间。但这会奏效。

标签: ios uitextview capitalization


【解决方案1】:

只需自动转换 ascii 值即可。

http://www.asciitable.com/

我认为你必须减去 32 才能从 'a' 到 'A'。

【讨论】:

  • 我认为您误解了所要求的内容。
  • 不,有道理 - 我会试一试
  • @Rossi - 你能解释一下这与你的问题有什么关系吗?此外,这不适用于 a-z 以外的任何字母。您有一个国际观众,他们将使用许多其他字母。如果需要更改字符串的大小写,请使用 NSString 方法 lowercaseString.
  • 相关,因为我可以在他们编写后使用 ascii 值将其自动更正为大写。但是,您只为 a-z 工作是正确的。因此,我将尝试使用相同的概念,但改用大写字符串 - 希望这可以全面发挥作用。仍然希望有一些方法:selectShiftKey 隐藏在某个地方,但唉,我认为没有。
【解决方案2】:

为了支持多语言并确保您不会错过任何用例,您可能希望使用一种允许您遵循键盘内置功能的技术。

您可以通过临时将autocapitalizationType 设置为.allCharacters(可选在子类中)来做到这一点:

if (autocapitalizationType == .allCharacters) {
    autocapitalizationType = .sentences
    autocorrectionType = .yes
    reloadInputViews()
}

看看他的post

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 2017-04-02
    相关资源
    最近更新 更多