I am trying to allow users to set the text they are typing as underline, without the text currently selected. This is for an iOS 6 application by typing in a UITextView. It will be saved as NSAttributedString. Bold and italic. Something about underlining doesn't work.
UITextView *textView = [self noteTextView];
NSMutableDictionary *typingAttributes = [[textView typingAttributes] mutableCopy];
[typingAttributes setObject:[NSNumber numberWithInt:NSUnderlineStyleSingle] forKey:NSUnderlineStyleAttributeName];
NSLog(@"attributes after: %@", typingAttributes);
[textView setTypingAttributes:typingAttributes];
NSLog(@"text view attributes after: %@", [textView typingAttributes]);
My original log statement indicates that it has an underscore value:
attributes after: {
NSColor = "UIDeviceRGBColorSpace 0 0 0 1";
NSFont = "<UICFFont: 0xa9c5e30> font-family: \"Verdana\"; font-weight: normal; font-style: normal; font-size: 17px";
NSKern = 0;
NSStrokeColor = "UIDeviceRGBColorSpace 0 0 0 1";
NSStrokeWidth = 0;
NSUnderline = 1;
}
But the log statement does not immediately show the nsunderline attribute. Deleting a textView string setTypingAttributes has no effect.
text view attributes after: {
NSColor = "UIDeviceRGBColorSpace 0 0 0 1";
NSFont = "<UICFFont: 0xa9c5e30> font-family: \"Verdana\"; font-weight: normal; font-style: normal; font-size: 17px";
NSKern = 0;
NSStrokeColor = "UIDeviceRGBColorSpace 0 0 0 1";
NSStrokeWidth = 0;
}
I'm at a dead end why it works for me for the bold and italic, but not for underlining. In addition, why he, at first, receives an attribute, and then forgets it. Please share the information you may have. Thank.