私はUITextViewを持っており、このテキストの特定の部分を選択してそのスタイルを変更したいと考えています。色を変更する、イタリック体または太字にする、フォントサイズを大きくする、フォントファミリを変更するなど。UITextView - 選択したテキストを変更する
ヘルプ
私はUITextViewを持っており、このテキストの特定の部分を選択してそのスタイルを変更したいと考えています。色を変更する、イタリック体または太字にする、フォントサイズを大きくする、フォントファミリを変更するなど。UITextView - 選択したテキストを変更する
ヘルプ
はい。 iOS 5を待つ。私はiOS 5に関する情報の多くがまだNDAの下にあると思うので、ここではそれについて議論することはできない。
またはCoreTextで自分で開発してください。次のように
あなたはいくつかの代替のものを使用することができます -
shouldChangeTextInRange
を使用してください。これは、テキストを変更する位置を特定する範囲が必要なためです。
UITextViewでは、スタイルをtextView.attributedString
に保存できます。
解決策は、textViewのAttributed Stringを取得し、その中の目的のサブ文字列を変更またはスタイル付きのテキストに置き換えることです。
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
NSMutableAttributedString *textViewText = [[NSMutableAttributedString alloc]initWithAttributedString:textView.attributedText]; //gets textView style string
NSRange selectedTextRange = [textView selectedRange];
NSString *selectedString = [textView textInRange:textView.selectedTextRange]; //our selected text
//lets say you always want to make selected text bold
UIFont *boldFont = [UIFont boldSystemFontOfSize:self.txtNote.font.pointSize];
NSDictionary *boldAttr = [NSDictionary dictionaryWithObject:boldFont forKey:NSFontAttributeName];
NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc]initWithString:selectedString attributes:boldAttr]; //make attributed string of our selectedtext
[textViewText replaceCharactersInRange:range withAttributedString:attributedText]; // replace
textView.attributedText = textViewText;
return false;
}
やや重複しています。 http://stackoverflow.com/questions/3841108/uitextfield-make-text-bold – Legolas
私は大胆に1ワードのような特定のテキストが必要UITextView全体! thnx –