Open mbcoder17 opened 9 years ago
Here is a sample project I made that shows the issue: https://www.dropbox.com/s/crpbw49rvv5s4q0/CYRTextView-master-2.zip?dl=0
Here are steps to reproduce on a simulator and device:
Simulator:
Device:
@illyabusigin were you able to figure this out?
When the user selects a line, or tries to edit/delete text, I check the current line against a rule of mine, and use the textView delegate method shouldChangeTextInRange (returning false) to ensure that specific lines of text cannot be changed by he user. However, I have run into some issues with line numbers becoming negative and/or incorrect in the process. For example, let's say I want the last 2 lines of my textview to be un-editable, I save the total number of lines, and I fetch the current line in the shouldChangeTextInRange method. If the current line is greater-than or equal to the total number of lines-1, return false. Now, this works if I select the last two lines and try to edit, it will stop me. But if I select the line above (which happens to take up 2 lines on the device) and start deleting, the line numbers become all messed up when I start to add new lines. Here is my code: