- (void)fontType:(BOOL)bold UnderL:(BOOL)underL Italic:(BOOL)italic {
NSFontTraitMask traits;
if (bold == NO & underL == NO && italic == NO ) {
traits = NSUnboldFontMask | NSUnitalicFontMask;
NSFontManager *fontManager = [NSFontManager sharedFontManager];
NSFont *theFont = [fontManager fontWithFamily:[[schriftart selectedItem] title]
traits:traits
weight:0
size:[schriftgross intValue]];
[selItem setFont:theFont];
NSMutableAttributedString * as = [[[selItem attributedStringValue] mutableCopy] autorelease];
NSString *tmp = [selItem stringValue];
NSRange sRange = [tmp rangeOfString:tmp];
[as beginEditing];
[as addAttribute:NSUnderlineStyleAttributeName
value:[NSNumber numberWithInt:NSUnderlineStyleNone]
range:sRange];
[as endEditing];
[selItem setAttributedStringValue:as];
NSLog(@"%@",[selItem attributedStringValue]);
}
if (bold == YES & underL == YES && italic == YES ) {
traits = NSBoldFontMask | NSItalicFontMask;
NSFontManager *fontManager = [NSFontManager sharedFontManager];
NSFont *theFont = [fontManager fontWithFamily:[[schriftart selectedItem] title]
traits:traits
weight:0
size:[schriftgross intValue]];
[selItem setFont:theFont];
NSMutableAttributedString * as = [[[selItem attributedStringValue] mutableCopy] autorelease];
NSString *tmp = [selItem stringValue];
NSRange sRange = [tmp rangeOfString:tmp];
[as beginEditing];
[as addAttribute:NSUnderlineStyleAttributeName
value:[NSNumber numberWithInt:NSUnderlineStyleSingle]
range:sRange];
[as endEditing];
[selItem setAttributedStringValue:as];
NSLog(@"%@",[selItem attributedStringValue]);
}
if (bold == YES & underL == NO && italic == NO ) {
traits = NSBoldFontMask | NSUnitalicFontMask;
NSFontManager *fontManager = [NSFontManager sharedFontManager];
NSFont *theFont = [fontManager fontWithFamily:[[schriftart selectedItem] title]
traits:traits
weight:0
size:[schriftgross intValue]];
[selItem setFont:theFont];
NSMutableAttributedString * as = [[[selItem attributedStringValue] mutableCopy] autorelease];
NSString *tmp = [selItem stringValue];
NSRange sRange = [tmp rangeOfString:tmp];
[as beginEditing];
[as addAttribute:NSUnderlineStyleAttributeName
value:[NSNumber numberWithInt:NSUnderlineStyleNone]
range:sRange];
[as endEditing];
[selItem setAttributedStringValue:as];
NSLog(@"%@",[selItem attributedStringValue]);
}
if (bold == NO & underL == YES && italic == NO ) {
traits = NSUnboldFontMask | NSUnitalicFontMask;
NSFontManager *fontManager = [NSFontManager sharedFontManager];
NSFont *theFont = [fontManager fontWithFamily:[[schriftart selectedItem] title]
traits:traits
weight:0
size:[schriftgross intValue]];
[selItem setFont:theFont];
NSMutableAttributedString * as = [[[selItem attributedStringValue] mutableCopy] autorelease];
NSString *tmp = [selItem stringValue];
NSRange sRange = [tmp rangeOfString:tmp];
[as beginEditing];
[as addAttribute:NSUnderlineStyleAttributeName
value:[NSNumber numberWithInt:NSUnderlineStyleSingle]
range:sRange];
[as endEditing];
[selItem setAttributedStringValue:as];
NSLog(@"%@",[selItem attributedStringValue]);
}
if (bold == NO & underL == NO && italic == YES ) {
traits = NSUnboldFontMask | NSItalicFontMask;
NSFontManager *fontManager = [NSFontManager sharedFontManager];
NSFont *theFont = [fontManager fontWithFamily:[[schriftart selectedItem] title]
traits:traits
weight:0
size:[schriftgross intValue]];
[selItem setFont:theFont];
NSMutableAttributedString * as = [[[selItem attributedStringValue] mutableCopy] autorelease];
NSString *tmp = [selItem stringValue];
NSRange sRange = [tmp rangeOfString:tmp];
[as beginEditing];
[as addAttribute:NSUnderlineStyleAttributeName
value:[NSNumber numberWithInt:NSUnderlineStyleNone]
range:sRange];
[as endEditing];
[selItem setAttributedStringValue:as];
NSLog(@"%@",[selItem attributedStringValue]);
}
if (bold == YES & underL == YES && italic == NO ) {
traits = NSBoldFontMask | NSUnitalicFontMask;
NSFontManager *fontManager = [NSFontManager sharedFontManager];
NSFont *theFont = [fontManager fontWithFamily:[[schriftart selectedItem] title]
traits:traits
weight:0
size:[schriftgross intValue]];
[selItem setFont:theFont];
NSMutableAttributedString * as = [[[selItem attributedStringValue] mutableCopy] autorelease];
NSString *tmp = [selItem stringValue];
NSRange sRange = [tmp rangeOfString:tmp];
[as beginEditing];
[as addAttribute:NSUnderlineStyleAttributeName
value:[NSNumber numberWithInt:NSUnderlineStyleSingle]
range:sRange];
[as endEditing];
[selItem setAttributedStringValue:as];
NSLog(@"%@",[selItem attributedStringValue]);
}
if (bold == YES & underL == NO && italic == YES ) {
traits = NSBoldFontMask | NSItalicFontMask;
NSFontManager *fontManager = [NSFontManager sharedFontManager];
NSFont *theFont = [fontManager fontWithFamily:[[schriftart selectedItem] title]
traits:traits
weight:0
size:[schriftgross intValue]];
[selItem setFont:theFont];
NSMutableAttributedString * as = [[[selItem attributedStringValue] mutableCopy] autorelease];
NSString *tmp = [selItem stringValue];
NSRange sRange = [tmp rangeOfString:tmp];
[as beginEditing];
[as addAttribute:NSUnderlineStyleAttributeName
value:[NSNumber numberWithInt:NSUnderlineStyleNone]
range:sRange];
[as endEditing];
[selItem setAttributedStringValue:as];
NSLog(@"%@",[selItem attributedStringValue]);
}
if (bold == NO & underL == YES && italic == YES ) {
traits = NSUnboldFontMask | NSItalicFontMask;
NSFontManager *fontManager = [NSFontManager sharedFontManager];
NSFont *theFont = [fontManager fontWithFamily:[[schriftart selectedItem] title]
traits:traits
weight:0
size:[schriftgross intValue]];
[selItem setFont:theFont];
NSMutableAttributedString * as = [[[selItem attributedStringValue] mutableCopy] autorelease];
NSString *tmp = [selItem stringValue];
NSRange sRange = [tmp rangeOfString:tmp];
[as beginEditing];
[as addAttribute:NSUnderlineStyleAttributeName
value:[NSNumber numberWithInt:NSUnderlineStyleSingle]
range:sRange];
[as endEditing];
[selItem setAttributedStringValue:as];
NSLog(@"%@",[selItem attributedStringValue]);
}
}
|
|
|
Da du überhaupt nicht auf die vorangegangene Antwort reagiert hast fehlt mir ein wenig die Motivation, das hier alles durchzuschauen...
– puls200 31.08.2011
|
[as addAttribute:NSFontAttributeName value:theFont range:sRange];
- (void)fontType:(BOOL)bold UnderL:(BOOL)underL Italic:(BOOL)italic
{
const int fontSize = [schriftgross intValue];
const NSFontTraitMask fontTraits = (bold ? NSBoldFontMask : NSUnboldFontMask) |
(italic ? NSItalicFontMask : NSUnitalicFontMask);
NSFontManager *fontManager = [NSFontManager sharedFontManager];
NSFont *theFont = [fontManager fontWithFamily:[[schriftart selectedItem] title]
traits:fontTraits
weight:0
size:fontSize];
NSAssert(theFont, @"The selected font does not exists!");
if (theFont)
{
// [selItem setFont:theFont]; // !!! DON'T DO THAT -
// Use [as addAttribute:NSFontAttributeName value:theFont range:sRange] instead !!!
NSMutableAttributedString * as = [[[selItem attributedStringValue] mutableCopy] autorelease];
NSString *tmp = [selItem stringValue];
NSRange sRange = [tmp rangeOfString:tmp];
[as beginEditing];
[as addAttribute:NSFontAttributeName
value:theFont
range:sRange];
[as addAttribute:NSUnderlineStyleAttributeName
value:[NSNumber numberWithInt: (underL ? NSUnderlineStyleSingle : NSUnderlineStyleNone)]
range:sRange];
[as endEditing];
[selItem setAttributedStringValue:as];
// NSLog(@"%@",[selItem attributedStringValue]);
}
}
|
|
"wenn ich das mache geht setAlignment: nicht mehr"
...
[as addAttribute:NSUnderlineStyleAttributeName
value:[NSNumber numberWithInt: (underL ? NSUnderlineStyleSingle : NSUnderlineStyleNone)]
range:sRange];
// ==========================================================
NSMutableParagraphStyle *ps = [[NSMutableParagraphStyle new] autorelease];
[ps setAlignment:NSLeftTextAlignment];
// Alternativ zu NSLeftTextAlignment: NSRightTextAlignment,
// NSCenterTextAlignment, NSJustifiedTextAlignment...
[as addAttribute:NSParagraphStyleAttributeName
value:ps
range:sRange];
// ==========================================================
[as endEditing];
...
|
|
|
|
|
|
|
Dann sorry, deine Frage hatte das ios Attribut und war unter "Mobile" einsortiert. Was den Mac angeht kann ich dir leider nicht weiterhelfen
– puls200 07.09.2011
|
||
NSColor = "NSCalibratedRGBColorSpace 0 0 0 1";
NSFont = "\"TimesNewRomanPS-BoldItalicMT 12.00 pt. P [] (0x1002a9a20) fobj=0x10746f670, spc=3.00\"";
NSOriginalFont = "\"LucidaGrande 12.00 pt. P [] (0x1002282b0) fobj=0x100228130, spc=3.80\"";
NSParagraphStyle = "Alignment 0, LineSpacing 0, ParagraphSpacing 0, ParagraphSpacingBefore 0, HeadIndent 0, TailIndent 0, FirstLineHeadIndent 0, LineHeight 0/0, LineHeightMultiple 0, LineBreakMode 0, Tabs (\n 28L,\n 56L,\n 84L,\n 112L,\n 140L,\n 168L,\n 196L,\n 224L,\n 252L,\n 280L,\n 308L,\n 336L\n), DefaultTabInterval 0, Blocks (null), Lists (null), BaseWritingDirection -1, HyphenationFactor 0, TighteningFactor 0.05, HeaderLevel 0";
NSUnderline = 0;
.......
NSFontManager *fontManager = [NSFontManager sharedFontManager];
NSFont *theFont = [fontManager fontWithFamily:[[schriftart selectedItem] title]
traits:fontTraits
weight:0
size:fontSize];
[selItem setFont:theFont];
NSAssert(theFont, @"The selected font does not exists!");
if (theFont)
{
......
|
|