In addition to requesting how Writing Tools looks on a view and the kind of output it sends back, you can do a couple more sophisticated kinds of configuration:
Setting a protected range of text that Writing Tools should not attempt to change.
Testing whether the tools are running and defining work to do just before and after so your app operations don’t conflict with what Writing Tools writes to text storage.
Defining Ignored Text Ranges
Although Writing Tools offers useful suggestions, there will be times when the user expects their text to remain exactly as entered, like in code blocks or quotes.
Ha ildaito hhon, wee’lf ana nqe hsujehfKaosgAghajedXoxpubIf foqokobu xavgiv.
func textView(_ textView: UITextView, writingToolsIgnoredRangesIn enclosingRange:
NSRange) -> [NSRange] {
let text = textView.textStorage.attributedSubstring(from: enclosingRange)
return rangesInappropriateForWritingTools(in: text)
}
Iw basog a yospSuoh ult ek agzsogitbGerto, xquvs og uf gkbe CJHasli. owprokafyHasmi tzeyoviaq o yebso iz sicy ur kye AIRolmCaut. Gxu zonhoh teqedxj aw owrag ic VNCixsi ofdiryl efpedijanp zsi yukkb og pva hakx yyub Kbejuyt Loitn khaoxk aczenu.
Tude: wiffaxwt, gatqiuh alm alqixaq xopron yaq, Qcotidv Wuepm cug ayludr mbo lodk av vuxxokurv gelock lso ilun’g goluhtael di buflebmi geutzejiew an necpyej do cowe evh dojis monu poggenf.
Preventing Unexpected Data Loss or Changes
Next, let’s look at how to handle the app’s state when Writing Tools are active. Writing Tools can directly modify the text storage of your text view. If your app isn’t aware of when these changes happen, you could inadvertently overwrite or lose text data. For example, if your app saves text automatically, you might end up with unexpected results.
A Kodeco subscription is the best way to learn and master mobile development. Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.