UITextViewの文字列として現在の行を取得する方法(クレイジーハック歓迎)はありますか?これは、この場合には、例えば、ワードラップなどが含まれます:UITextViewは現在の行を取得します
メソッドが返すことがカーソルに基づいて、現在の行であるため、「スタックオーバーフローを、それは素晴らしいではありませんI?」 。
また、カーソルの位置に基づいて、「これは私が行ったテストです」または「考えています」と返すこともできます。私は、UITextViewメソッドとUITextInputプロトコルのメソッドの両方を試してみました。
編集:
これは私が使用しようとしているコードです。文字列を見つける必要がある理由は長さを取得することです。そのため、UIベースのコードが表示されます。
NSRange location = self.textView.selectedRange;
NSString *searchString = [self.textView.text substringWithRange:NSMakeRange(0, location)];
CGSize currentStringDimensions = [searchString sizeWithFont:self.textView.font constrainedToSize:CGSizeMake(self.textView.frame.size.width, self.textView.frame.size.height) lineBreakMode:NSLineBreakByWordWrapping];
float numberOfRows = (currentStringDimensions.width/(self.textView.frame.size.width));
float left = (float)(numberOfRows - (int)numberOfRows) * (self.textView.frame.size.width);
これは機能しません。私はそれは単語がラップされているか、または異なるサイズの文字があるかもしれないと思うが、左の値は一貫していないか、または最初の行の後ろにある。
を働いたあなたは(私はUITextInput'は '言うだろう持っているどれだけ近いか、あなたは試してみましたが、コードとそれが実際に返さを表示します正しいアプローチ)。 – Wain
メインの質問を – roozbubu
に更新します。これを参照してください - http://stackoverflow.com/questions/4421267/how-to-get-text-from-nt-line-of-uilabel/14413484#14413484 – TheTiger