Finally...
After receiving Prasanna's answer, I have found my solution. Thank you for your input, Prasanna! I have come up with many ideas based on it. In this particular scenario, instead of using the size from the frame, I opted to utilize the contentSize from the textview. Here is the code snippet I created:
NSString *head = [textView.text substringToIndex:textView.selectedRange.location];
//--get the size of this part--
CGSize initialSize = [head sizeWithFont:textView.font constrainedToSize:textView.contentSize];
NSUInteger startOfLine = [head length];
NSRange delimiter = [head rangeOfCharacterFromSet:[NSCharacterSet characterSetWithCharactersInString:textView.text] options:NSBackwardsSearch range:NSMakeRange(0, startOfLine)];
//--substring the part after cursor position--
NSString *tail = [head substringFromIndex:delimiter.location];
//--gets the size of this part--
CGSize lineSize = [tail sizeWithFont:textView.font forWidth:textView.contentSize.width lineBreakMode:UILineBreakModeWordWrap];
This solution works well for me, and perhaps it could be useful to you too, Prasanna.