3

Setting the spellCheckingType property of a UITextField to UITextSpellCheckingTypeYes doesn't override the user settings in Settings/General/Keyboard/Check Spelling.

That is, when Settings/General/Keyboard/Check Spelling is set to OFF, I cannot get my UITextField to do spell checking, even when the UITextField's spellCheckingType property is set to UITextSpellCheckingTypeYes.

I presume this is by design. Has anybody found a way to override the user setting?

Sam
  • 7,252
  • 16
  • 46
  • 65
Carl
  • 301
  • 4
  • 13

1 Answers1

0

If a user turns off spell checking, it means that user doesn't want spell checking. You can't override a user's preferences, nor should you.

titaniumdecoy
  • 18,900
  • 17
  • 96
  • 133
  • The customer thinks you should be able to override a user's preference. And you know what they say about customers...especially paying ones. – Carl Nov 28 '11 at 17:01
  • This particular enterprise customer provides tablets to its employees. Employees are permitted to set their own user settings (can you even lock users out from mucking with the Settings?) but when the employees consume content authored by the enterprise customer, the enterprise customer wants to control the user experience. – Carl Nov 28 '11 at 17:01
  • For example, when the customer authors a form, it wants to control whether a text field has spell checking. Spell checking prior to submission of form data catches common errors and prevents submitted form data from being rejected by the server, causing delays in the workflow. Some text fields are more prone to misspelled data than others. These are the ones the customer wants to enforce spell checking on. – Carl Nov 28 '11 at 17:02
  • What you want to do is impossible without jailbreaking the device (which is not an option in enterprise). Your only option is to implement your own spellchecking mechanism, or tell users not turn it off. – titaniumdecoy Nov 28 '11 at 17:32
  • Yes, that does appear to be the case, at least on iOS, until Apple gets serious about supporting the Enterprise. – Carl Nov 28 '11 at 17:36
  • You might also be interested to know that enabling spellchecking on a field causes any entered data to be stored in plaintext in the device's keyboard cache, which is a security concern for enterprise. As a direct result of this "feature" we have disabled spellchecking on all fields in our app. – titaniumdecoy Nov 28 '11 at 17:38