FROM : Ross Carter
DATE : Thu Feb 21 23:30:41 2008
I've filed a bug on this (5757951) but I hope there's a workaround.
The initializer for creating a NSTextTab of type NSDecimalTabStopType
is initWithAlignment:(NSTextAlignment)alignment location:
(CGFloat)location options:(NSDictionary *)options. There is no
NSTextAlignment for dec tabs, so you use NSRightTextAlignment, and the
initializer apparently figures out that you want a decimal tab by
looking in the options dictionary.
But usually I get a right-aligned textTab even though I've requested a
decimal-aligned textTab. Sometimes an incantation can help:
// Create an options dictionary to be used in creating a decimal
NSTextTab:
NSCharacterSet *charSet = [NSCharacterSet
characterSetWithCharactersInString:@"."];
NSDictionary *optionsDict = [NSDictionary
dictionaryWithObject:charSet
forKey:NSTabColumnTerminatorsAttributeName];
// try to create a decimal NSTextTab using that options dict:
NSTextTab *textTab1 = [[NSTextTab alloc]
initWithTextAlignment:NSRightTextAlignment
location:location
options:optionsDict];
NSLog(@"tabStopType is %i", [textTab1 tabStopType]);
// Doesn't work; tabStopType is 1 (right)
// Create and release a default decimal NSTextTab:
NSTextTab *dummyTab = [[NSTextTab alloc]
initWithType:NSDecimalTabStopType location:location];
[dummyTab release];
// Now try again to create the decimal NSTextTab using the same
options dict:
NSTextTab *textTab2 = [[NSTextTab alloc]
initWithTextAlignment:NSRightTextAlignment
location:location
options:optionsDict];
NSLog(@"tabStopType is %i", [textTab2 tabStopType]);
// It works; tabStopType is 3 (decimal)
but sometimes I get the right-aligned textTab no matter what.
Any ideas on a sure-fire way to initialize a decimal NSTextTab?
Ross
DATE : Thu Feb 21 23:30:41 2008
I've filed a bug on this (5757951) but I hope there's a workaround.
The initializer for creating a NSTextTab of type NSDecimalTabStopType
is initWithAlignment:(NSTextAlignment)alignment location:
(CGFloat)location options:(NSDictionary *)options. There is no
NSTextAlignment for dec tabs, so you use NSRightTextAlignment, and the
initializer apparently figures out that you want a decimal tab by
looking in the options dictionary.
But usually I get a right-aligned textTab even though I've requested a
decimal-aligned textTab. Sometimes an incantation can help:
// Create an options dictionary to be used in creating a decimal
NSTextTab:
NSCharacterSet *charSet = [NSCharacterSet
characterSetWithCharactersInString:@"."];
NSDictionary *optionsDict = [NSDictionary
dictionaryWithObject:charSet
forKey:NSTabColumnTerminatorsAttributeName];
// try to create a decimal NSTextTab using that options dict:
NSTextTab *textTab1 = [[NSTextTab alloc]
initWithTextAlignment:NSRightTextAlignment
location:location
options:optionsDict];
NSLog(@"tabStopType is %i", [textTab1 tabStopType]);
// Doesn't work; tabStopType is 1 (right)
// Create and release a default decimal NSTextTab:
NSTextTab *dummyTab = [[NSTextTab alloc]
initWithType:NSDecimalTabStopType location:location];
[dummyTab release];
// Now try again to create the decimal NSTextTab using the same
options dict:
NSTextTab *textTab2 = [[NSTextTab alloc]
initWithTextAlignment:NSRightTextAlignment
location:location
options:optionsDict];
NSLog(@"tabStopType is %i", [textTab2 tabStopType]);
// It works; tabStopType is 3 (decimal)
but sometimes I get the right-aligned textTab no matter what.
Any ideas on a sure-fire way to initialize a decimal NSTextTab?
Ross
| Related mails | Author | Date |
|---|---|---|
| Ross Carter | Feb 21, 23:30 | |
| Aki Inoue | Feb 21, 23:48 | |
| Ross Carter | Feb 22, 18:24 |






Cocoa mail archive

