Navigation Menu

Skip to content

Commit

Permalink
sync
Browse files Browse the repository at this point in the history
  • Loading branch information
Peter Shih committed Feb 24, 2012
1 parent 490c511 commit 1efa114
Show file tree
Hide file tree
Showing 3 changed files with 112 additions and 9 deletions.
78 changes: 70 additions & 8 deletions PSStyleSheet-Default.plist
Expand Up @@ -19,6 +19,25 @@
<key>shadowOffset</key>
<string>{0,1}</string>
</dict>
<key>navigationTitleLabel</key>
<dict>
<key>fontName</key>
<string>HelveticaNeueLT-MediumCond</string>
<key>fontSize</key>
<integer>20</integer>
<key>textColor</key>
<string>0x000000</string>
<key>highlightedTextColor</key>
<string>0x000000</string>
<key>textAlignment</key>
<string>center</string>
<key>shadowColor</key>
<string>0x999999</string>
<key>shadowOffset</key>
<string>{0, 0}</string>
<key>numberOfLines</key>
<integer>5</integer>
</dict>
<key>loadMoreLabel</key>
<dict>
<key>fontName</key>
Expand All @@ -32,6 +51,32 @@
<key>shadowOffset</key>
<string>{0,1}</string>
</dict>
<key>pullRefreshWhiteLabel</key>
<dict>
<key>fontName</key>
<string>HelveticaNeueLT-MediumCond</string>
<key>fontSize</key>
<integer>18</integer>
<key>textColor</key>
<string>0xefefef</string>
<key>shadowColor</key>
<string>0xefefef</string>
<key>shadowOffset</key>
<string>{0,0}</string>
</dict>
<key>pullRefreshBlackLabel</key>
<dict>
<key>fontName</key>
<string>HelveticaNeueLT-MediumCond</string>
<key>fontSize</key>
<integer>18</integer>
<key>textColor</key>
<string>0x000000</string>
<key>shadowColor</key>
<string>0xefefef</string>
<key>shadowOffset</key>
<string>{0,0}</string>
</dict>
<key>searchField</key>
<dict>
<key>fontName</key>
Expand Down Expand Up @@ -78,13 +123,13 @@
<key>filmViewHeader</key>
<dict>
<key>fontName</key>
<string>HelveticaNeue</string>
<string>HelveticaNeueLT-Condensed</string>
<key>fontSize</key>
<integer>14</integer>
<integer>16</integer>
<key>textColor</key>
<string>0xefefef</string>
<string>0x000000</string>
<key>highlightedTextColor</key>
<string>0xefefef</string>
<string>0x000000</string>
<key>textAlignment</key>
<string>center</string>
<key>shadowColor</key>
Expand All @@ -95,19 +140,36 @@
<key>filmViewFooter</key>
<dict>
<key>fontName</key>
<string>HelveticaNeue</string>
<string>HelveticaNeueLT-Condensed</string>
<key>fontSize</key>
<integer>14</integer>
<integer>16</integer>
<key>textColor</key>
<string>0xefefef</string>
<string>0x000000</string>
<key>highlightedTextColor</key>
<string>0xefefef</string>
<string>0x000000</string>
<key>textAlignment</key>
<string>center</string>
<key>shadowColor</key>
<string>0x000000</string>
<key>shadowOffset</key>
<string>{0,0}</string>
</dict>
<key>popoverTitleLabel</key>
<dict>
<key>fontName</key>
<string>HelveticaNeueLT-MediumCond</string>
<key>fontSize</key>
<integer>18</integer>
<key>textColor</key>
<string>0xefefef</string>
<key>shadowColor</key>
<string>0xefefef</string>
<key>shadowOffset</key>
<string>{0,0}</string>
<key>textAlignment</key>
<string>center</string>
<key>numberOfLines</key>
<integer>1</integer>
</dict>
</dict>
</plist>
4 changes: 3 additions & 1 deletion PSStyleSheet.h
Expand Up @@ -21,7 +21,9 @@
+ (UIColor *)backgroundColorForStyle:(NSString *)style;
+ (CGSize)shadowOffsetForStyle:(NSString *)style;
+ (UITextAlignment)textAlignmentForStyle:(NSString *)style;
+ (NSInteger)numberOfLinesForStyle:(NSString *)style;
+ (UILineBreakMode)lineBreakModeForStyle:(NSString *)style;

// TODO: Add UILineBreakMode
+ (CGSize)sizeForText:(NSString *)text width:(CGFloat)width style:(NSString *)style;

@end
39 changes: 39 additions & 0 deletions PSStyleSheet.m
Expand Up @@ -40,6 +40,8 @@ + (void)applyStyle:(NSString *)style forLabel:(UILabel *)label {
label.shadowOffset = [PSStyleSheet shadowOffsetForStyle:style];
label.textAlignment = [PSStyleSheet textAlignmentForStyle:style];
label.backgroundColor = [PSStyleSheet backgroundColorForStyle:style];
label.numberOfLines = [PSStyleSheet numberOfLinesForStyle:style];
label.lineBreakMode = [PSStyleSheet lineBreakModeForStyle:style];
}

+ (void)applyStyle:(NSString *)style forButton:(UIButton *)button {
Expand Down Expand Up @@ -118,4 +120,41 @@ + (UITextAlignment)textAlignmentForStyle:(NSString *)style {
}
}

#pragma mark - Number of Lines
+ (NSInteger)numberOfLinesForStyle:(NSString *)style {
NSInteger numberOfLines = 0; // If left empty, default to 0
if ([[[_styles objectForKey:style] objectForKey:@"numberOfLines"] integerValue]) {
numberOfLines = [[[_styles objectForKey:style] objectForKey:@"numberOfLines"] integerValue];
}
return numberOfLines;
}

+ (UILineBreakMode)lineBreakModeForStyle:(NSString *)style {
// typedef enum {
// UILineBreakModeWordWrap = 0, // Wrap at word boundaries
// UILineBreakModeCharacterWrap, // Wrap at character boundaries
// UILineBreakModeClip, // Simply clip when it hits the end of the rect
// UILineBreakModeHeadTruncation, // Truncate at head of line: "...wxyz". Will truncate multiline text on first line
// UILineBreakModeTailTruncation, // Truncate at tail of line: "abcd...". Will truncate multiline text on last line
// UILineBreakModeMiddleTruncation, // Truncate middle of line: "ab...yz". Will truncate multiline text in the middle
// } UILineBreakMode;
UILineBreakMode lineBreakMode = UILineBreakModeTailTruncation;
if ([[_styles objectForKey:style] objectForKey:@"lineBreakMode"]) {
NSString *lineBreakModeString = [[_styles objectForKey:style] objectForKey:@"lineBreakMode"];
if ([lineBreakModeString isEqualToString:@"wordWrap"]) {
lineBreakMode = UILineBreakModeWordWrap;
} else if ([lineBreakModeString isEqualToString:@"characterWrap"]) {
lineBreakMode = UILineBreakModeCharacterWrap;
} else {
lineBreakMode = UILineBreakModeTailTruncation;
}
}
return lineBreakMode;
}

+ (CGSize)sizeForText:(NSString *)text width:(CGFloat)width style:(NSString *)style {
CGSize size = [UILabel sizeForText:text width:width font:[[self class] fontForStyle:style] numberOfLines:[[self class] numberOfLinesForStyle:style] lineBreakMode:[[self class] lineBreakModeForStyle:style]];
return size;
}

@end

0 comments on commit 1efa114

Please sign in to comment.