====== SPTextField+Justify ====== ---- dataentry extension ---- type : extension author_mail : shilo86@gmail.com Shilo White description : A category for Sparrow 2.X that allows a bitmap SPTextField to justify align. lastupdate_dt : 2013-07-16 compatible : v2.X depends : tags : text, textfield, justify, justified, justification homepage_url : https://gist.github.com/Shilo/6017433 download_url : https://gist.github.com/Shilo/6017433/download ---- ===== Alignment Property Values ===== #define SPVAlignJustify SPVAlignBottom+1 #define SPHAlignJustify SPHAlignRight+1 #define SPHAlignJustifyLastLineLeft SPHAlignJustify+1 #define SPHAlignJustifyLastLineCenter SPHAlignJustifyLastLineLeft+1 #define SPHAlignJustifyLastLineRight SPHAlignJustifyLastLineCenter+1 ===== Sample ===== {{http://f.cl.ly/items/1N0z27322T0H2Y3L0s43/Screen%20Shot%202013-07-16%20at%208.18.45%20PM.png}} ===== Usage ===== // // Game.m // AppScaffold // #import "Game.h" #import "SPTextField+Justify.h" @implementation Game - (id)init { if ((self = [super init])) { Sparrow.stage.color = 0xffffff; CGRect screenBounds = [UIScreen mainScreen].bounds; float stageWidth = screenBounds.size.height; float stageHeight = screenBounds.size.width; NSString *text = @"Sparrow does not cost a dime. Download and use it right away, no strings attached. Drop your inhouse engine and focus on your games right now!"; [SPTextField registerBitmapFontFromFile:@"Helvetica.fnt"]; for (SPHAlign hAlign=SPHAlignLeft; hAlign<=SPHAlignJustifyLastLineRight; hAlign++) { for (SPVAlign vAlign=SPVAlignTop; vAlign<=SPVAlignJustify; vAlign++) { NSString *hText = [NSString stringWithFormat:@"hAlign:\n%@\n\n", [self hAlignToString:hAlign]]; NSString *vText = [hText stringByAppendingFormat:@"vAlign:\n%@\n\n", [self vAlignToString:vAlign]]; SPTextField *textField = [SPTextField textFieldWithText:[vText stringByAppendingString:text]]; textField.fontName = @"Helvetica"; textField.fontSize = 11; textField.width = stageWidth/7; textField.height = stageHeight/4; textField.x = hAlign*textField.width; textField.y = vAlign*textField.height; textField.hAlign = hAlign; textField.vAlign = vAlign; textField.border = YES; if (vAlign >= SPVAlignJustify || hAlign >= SPHAlignJustify) textField.color = 0x0000ff; [self addChild:textField]; } } } return self; } - (NSString *)hAlignToString:(SPHAlign)hAlign { if (hAlign == SPHAlignLeft) return @"SPHAlignLeft"; else if (hAlign == SPHAlignCenter) return @"SPHAlignCenter"; else if (hAlign == SPHAlignRight) return @"SPHAlignRight"; else if (hAlign == SPHAlignJustify) return @"SPHAlignJustify"; else if (hAlign == SPHAlignJustifyLastLineLeft) return @"SPHAlignJustifyLastLineLeft"; else if (hAlign == SPHAlignJustifyLastLineCenter) return @"SPHAlignJustifyLastLineCenter"; else if (hAlign == SPHAlignJustifyLastLineRight) return @"SPHAlignJustifyLastLineRight"; else return @"unknown"; } - (NSString *)vAlignToString:(SPVAlign)vAlign { if (vAlign == SPVAlignTop) return @"SPVAlignTop"; else if (vAlign == SPVAlignCenter) return @"SPVAlignCenter"; else if (vAlign == SPVAlignBottom) return @"SPVAlignBottom"; else if (vAlign == SPVAlignJustify) return @"SPVAlignJustify"; else return @"unknown"; } @end ===== Changelog ===== * //2013/07/16 08:29//: First public version ===== Source Code ===== %gist(6017433)% ===== Discussion ===== //No comments so far. Feel free to edit this part of the page.//