move cursor up/down in UITextView - iphone

The only public API I found allowed me only to move the cursor right/left using selectedRange property.
Any workaround to perform that task up/down?
Thanks

If you haven't found an answer, you may just have to develop your own custom component using Core Text.

This is a pretty old question ... but for anyone still trying to find a way to do this:
You can count the number of \n characters up to the current range.location and set the new range.location to a \n before to the cursor up a row or to a \n after the cursor to move it down.
If you want to move it up or down and keep it in line with the characters on the row you will need to count the number of characters on each row and move it to the right location

Related

TextField's current focus position in flutter

Hey I have a TextField and a controller for it through which I access its current text value and add some text like (Some Special Asterix or text with angular brackets just like hashnode's text editor) to it when needed, adding text at the end is easy.
controller.text += "Something";
The above code will add Something to the end. But I need to know the current TextFields Cursor position and add text according to it.
I really love to know how we can do it in flutter efficiently
Try this to get the cursor position
print(controller.selection.baseOffset);
print(controller.selection.extentOffset);
if they are the same, it is current cursor position.
if not, it means that some of text is selected, baseOffset is start position and extentOffset is end positon.

Trouble Removing Highlight from Bullet Points and Numbered Lists

I edited a document from a client with some highlights then later decided to remove the highlights for comments instead.
For whatever reason, the document highlighted a number of bullet point and numbered list sections which I could not revert when I attempted to select the entire document and change the highlighting to 'No Fill'.
The highlighted bullet point/number lists did not allow me to select them to revert.
Searches on Google seemed to result in a ton of convoluted "[Solved]" responses on their forum which didn't fix the issue for me (or resulted in a TLDR response from my brain...):
Google Search: open office remove highlight bullet lists
[Solved] Yellow highlighting won't go away
[Solved] Bullet highlighting will not go away.
[Solved] Surprise Yellow Highlighting on Bullets & Numbers
Permanently highlighted bullets.
[Solved] Oddities Involving Bullets/Outlines & Font Styles
[Solved] Bullet color
Seriously... what the heck!? How can this be so hard? So I decided this issue needed some serious StackOverflow help...
Version info:
Apache OpenOffice-4.1.4
AOO414m5(Build:9788) - Rev. 1811857
2017-10-11 20:12
So after all that...
I figured it out. But its still crazy how it's not answered very clearly in the resources above... I hope this helps someone not spend as much time on this in the future.
If you double-click the first bullet/number of the list... it appears to select the first word of the first item of the list, BUT you'll see that it also selects the list bullets/numbers with a dark gray highlight.
Now selected, you can remove the highlight from the list.
Selecting all of the document doesn't select the numbered/bulleted lists.
Well, most of this solutions didnt helped me.
But I found a simple way to fix it:
Select Highlight option.
Position to the left of the bullet until the cursor converts to a white arrow.
One click to highlight entire text line. One click again to un-highlight the entire text line (including the bullet).
Select the highlighted area, rather "highlight" the highlighted area and press CTRL+Q, it is a paragraph formatting issue and this should remove all formatting from the selected area.
The answers above didn't work. Try this (mouse-select means left-click and drag the selection of words, aka highlighting but wanted to avoid confusion):
Turn on paragraph marks ¶ in Word
Add a clean paragraph before the highlighted-bullet sentence. (Clean means it's unbulleted, without colour highlight, unformatted)
Mouse-select the entire bulleted sentence containing the highlighted bullet. Make sure the selection also goes left before the highlighted bullet to include the clean paragraph above it i.e. your selection should include the ''¶'' mark of the clean paragraph you created in 2.
Apply white/clear/no-colour highlighting.
It's actually pretty simple though I was having trouble with it myself. Just select all the items of that particular bulleted/numbered list and highlight them. Then select the items again and remove the highlight. Doing that removed the highlights from the bullets too for me.
Super frustrating but here's the fix that's always worked for me (even with .doc or .docx file):
Double click the bulleted/numbered list item so they all highlight
Ctrl + Spacebar (resets character formatting)
Apply any needed formatting (font type, bold, etc.)
This will keep the formatting on the paragraph (indents, header type, etc.) but will just allow you to change the format of the actual text that is highlighted - which is likely all you want.
Hope that works for you!
The highlighted text in the paragraph that you have highlighted past the period id causing this issue. If you want to keep the last sentence highlighted but remove the highlight bullet just remove highlight on the period at the end of the paragraph and the highlighted bullet goes away :)
(If you can) Start from above, add in a new clean bullet point, copy/paste the desired text from the problematic highlighted bullet point, then delete the problematic highlighted bullet point altogether.

How to use UITextRange to get substring from a UITextField

So I am using selectedTextRange to get a cursor position from my UITextField. I would like to obtain a substring from the beginning of my TextField text up to the cursor position. How would I go about doing this? I am able to create the UITextRange I want but I don't know how to use this to get the actual substring since substringWithRange seems to only work with NSRange. Any guidance would be greatly appreciated.
You need to use the methods from the UITextInput protocol, which is implemented by all text views, to do this. With a text range, you can simply call textInRange: to get the text.
To get the text from the beginning of the field up to the selected position, you'll need to make a text range first with textRangeFromPosition:toPosition:, passing beginningOfDocument for the first argument, and the start of your text range for the second argument.

Moving cursor position by offset value

$text->SetCursor( position );
This is used to move cursor at the given position.
Is there any way that I can move the cursor by a given offset value?
Thanks,
You just have to use the correct position descriptor; they support a little language of their own. For example, the string insert + 1 char describes the location one character further on than the insertion point (insert is a special kind of mark that represents where text will be inserted and is where the caret is located when focus is in the text widget).

How to figure out the current caret position in a UITextField?

I want to programmatically paste a string into a text field or text view at the current caret position.
Is there an easy way to do this? I would need to know the current caret position, but there's no method to retrieve it, right? Don't want to call private API. Is there any legal way to do it?
Use UITextView's selectedRange method. If the range has a non-zero length (in the case of the user having selected some text), just take the location (or NSMaxRange(), or replace the entire range...)
Instead of pasting option. Get the string from textfield or textview insert the string which you want to paste it by providing the index and then clear the textfield then pass the string which you inserted.