Permalink
Browse files

Merge pull request #602 from facebook/development

Release Three20 v1.0.6
  • Loading branch information...
2 parents 726841e + 8076676 commit 4aed866d0a17aea6e82bb73c5e4482733d0f7395 @jwang jwang committed Jul 15, 2011
Showing with 5,915 additions and 1,343 deletions.
  1. +18 −0 samples/Style/TTCSSStyleSheets/Classes/SampleCSSStyleSheet.h
  2. +36 −0 samples/Style/TTCSSStyleSheets/Classes/SampleCSSStyleSheet.m
  3. +0 −2 samples/Style/TTCSSStyleSheets/Classes/StyleSheetViewController.h
  4. +45 −23 samples/Style/TTCSSStyleSheets/Classes/StyleSheetViewController.m
  5. +1 −1 samples/Style/TTCSSStyleSheets/Headers/TTCSSStyleSheets_Prefix.pch
  6. +34 −3 samples/Style/TTCSSStyleSheets/Resources/stylesheet.css
  7. +6 −0 samples/Style/TTCSSStyleSheets/TTCSSStyleSheets.xcodeproj/project.pbxproj
  8. +9 −0 samples/TTCatalog/Classes/ImageTest1Controller.m
  9. +48 −14 samples/TTCatalog/Classes/StyleTestController.m
  10. +1 −0 samples/TTCatalog/Classes/StyledTextTestController.m
  11. BIN src/Three20.bundle/cs.lproj/Localizable.strings
  12. BIN src/Three20.bundle/he.lproj/Localizable.strings
  13. +0 −6 src/Three20/Headers/Three20.h
  14. +0 −2 src/Three20/Three20.xcodeproj/project.pbxproj
  15. +15 −0 src/Three20Core/Headers/NSDataAdditions.h
  16. +5 −0 src/Three20Core/Headers/NSStringAdditions.h
  17. +75 −0 src/Three20Core/Headers/Three20.h
  18. +2 −0 src/Three20Core/Headers/Three20Core.h
  19. +33 −0 src/Three20Core/Headers/Three20Version.h
  20. +104 −0 src/Three20Core/Sources/NSDataAdditions.m
  21. +53 −34 src/Three20Core/Sources/NSDateAdditions.m
  22. +10 −0 src/Three20Core/Sources/NSStringAdditions.m
  23. +2 −1 src/Three20Core/Sources/TTExtensionAuthor.m
  24. +2 −1 src/Three20Core/Sources/TTExtensionInfo.m
  25. +64 −0 src/Three20Core/Sources/Three20.m
  26. +23 −0 src/Three20Core/Sources/Three20Version.m
  27. +16 −3 src/Three20Core/Three20Core.xcodeproj/project.pbxproj
  28. +23 −0 src/Three20Core/UnitTests/CoreGlobalTests.m
  29. +1 −1 src/Three20Network/Headers/TTErrorCodes.h
  30. +47 −2 src/Three20Network/Headers/TTURLRequest.h
  31. +14 −0 src/Three20Network/Headers/TTURLRequestQueue.h
  32. +13 −0 src/Three20Network/Headers/TTURLResponse.h
  33. +127 −0 src/Three20Network/NetworkRequestTimeoutTests.m
  34. +1 −1 src/Three20Network/Sources/TTErrorCodes.m
  35. +53 −13 src/Three20Network/Sources/TTRequestLoader.m
  36. +4 −2 src/Three20Network/Sources/TTURLCache.m
  37. +57 −17 src/Three20Network/Sources/TTURLRequest.m
  38. +12 −3 src/Three20Network/Sources/TTURLRequestQueue.m
  39. +2 −1 src/Three20Network/Sources/TTUserInfo.m
  40. +375 −9 src/Three20Network/Three20Network.xcodeproj/project.pbxproj
  41. +5 −0 src/Three20Style/Headers/TTDefaultStyleSheet.h
  42. +24 −2 src/Three20Style/Headers/TTSpeechBubbleShape.h
  43. +3 −0 src/Three20Style/Headers/TTStyledLayout.h
  44. +6 −0 src/Three20Style/Headers/TTStyledText.h
  45. +2 −1 src/Three20Style/Sources/TTBevelBorderStyle.m
  46. +2 −1 src/Three20Style/Sources/TTBlendStyle.m
  47. +2 −1 src/Three20Style/Sources/TTBoxStyle.m
  48. +25 −0 src/Three20Style/Sources/TTDefaultStyleSheet.m
  49. +8 −2 src/Three20Style/Sources/TTFourBorderStyle.m
  50. +2 −1 src/Three20Style/Sources/TTGridLayout.m
  51. +2 −1 src/Three20Style/Sources/TTHighlightBorderStyle.m
  52. +2 −1 src/Three20Style/Sources/TTImageStyle.m
  53. +2 −1 src/Three20Style/Sources/TTInsetStyle.m
  54. +2 −1 src/Three20Style/Sources/TTLinearGradientBorderStyle.m
  55. +2 −1 src/Three20Style/Sources/TTShadowStyle.m
  56. +2 −1 src/Three20Style/Sources/TTSolidBorderStyle.m
  57. +67 −24 src/Three20Style/Sources/TTSpeechBubbleShape.m
  58. +4 −2 src/Three20Style/Sources/TTStyle.m
  59. +2 −1 src/Three20Style/Sources/TTStyleContext.m
  60. +2 −1 src/Three20Style/Sources/TTStyleSheet.m
  61. +11 −7 src/Three20Style/Sources/TTStyledBoxFrame.m
  62. +8 −4 src/Three20Style/Sources/TTStyledButtonNode.m
  63. +6 −3 src/Three20Style/Sources/TTStyledElement.m
  64. +2 −1 src/Three20Style/Sources/TTStyledFrame.m
  65. +2 −1 src/Three20Style/Sources/TTStyledImageFrame.m
  66. +4 −2 src/Three20Style/Sources/TTStyledImageNode.m
  67. +50 −7 src/Three20Style/Sources/TTStyledLayout.m
  68. +8 −4 src/Three20Style/Sources/TTStyledLinkNode.m
  69. +4 −2 src/Three20Style/Sources/TTStyledNode.m
  70. +12 −1 src/Three20Style/Sources/TTStyledText.m
  71. +2 −1 src/Three20Style/Sources/TTStyledTextFrame.m
  72. +4 −2 src/Three20Style/Sources/TTStyledTextNode.m
  73. +34 −13 src/Three20Style/Sources/TTStyledTextParser.m
  74. +2 −1 src/Three20Style/Sources/TTTextStyle.m
  75. +0 −2 src/Three20Style/Three20Style.xcodeproj/project.pbxproj
  76. +2 −0 src/Three20UI/Headers/TTLauncherItem.h
  77. +2 −0 src/Three20UI/Headers/TTLauncherView.h
  78. +1 −1 src/Three20UI/Headers/TTStyledTextLabel.h
  79. +7 −0 src/Three20UI/Headers/TTTableViewController.h
  80. +14 −6 src/Three20UI/Headers/TTWebController.h
  81. +1 −1 src/Three20UI/Headers/Three20UI.h
  82. +8 −4 src/Three20UI/Sources/TTActionSheetController.m
  83. +8 −4 src/Three20UI/Sources/TTActivityLabel.m
  84. +8 −4 src/Three20UI/Sources/TTAlertViewController.m
  85. +2 −1 src/Three20UI/Sources/TTButton.m
  86. +2 −1 src/Three20UI/Sources/TTButtonBar.m
  87. +2 −1 src/Three20UI/Sources/TTButtonContent.m
  88. +4 −2 src/Three20UI/Sources/TTErrorView.m
  89. +2 −1 src/Three20UI/Sources/TTExtensionInfoController.m
  90. +2 −1 src/Three20UI/Sources/TTExtensionsController.m
  91. +2 −1 src/Three20UI/Sources/TTImageView.m
  92. +4 −2 src/Three20UI/Sources/TTLabel.m
  93. +4 −2 src/Three20UI/Sources/TTLauncherButton.m
  94. +8 −3 src/Three20UI/Sources/TTLauncherItem.m
  95. +7 −2 src/Three20UI/Sources/TTLauncherView.m
  96. +2 −1 src/Three20UI/Sources/TTLink.m
  97. +2 −1 src/Three20UI/Sources/TTListDataSource.m
  98. +4 −2 src/Three20UI/Sources/TTMessageController.m
  99. +2 −1 src/Three20UI/Sources/TTMessageField.m
  100. +4 −2 src/Three20UI/Sources/TTModelViewController.m
  101. +1 −1 src/Three20UI/Sources/TTNavigatorWindow.m
  102. +2 −1 src/Three20UI/Sources/TTPageControl.m
  103. +12 −2 src/Three20UI/Sources/TTPhotoView.m
  104. +9 −10 src/Three20UI/Sources/TTPhotoViewController.m
  105. +2 −1 src/Three20UI/Sources/TTPickerTextField.m
  106. +2 −1 src/Three20UI/Sources/TTPickerViewCell.m
  107. +4 −2 src/Three20UI/Sources/TTPopupViewController.m
  108. +4 −2 src/Three20UI/Sources/TTPostController.m
  109. +4 −2 src/Three20UI/Sources/TTRecursiveProgress.m
  110. +2 −1 src/Three20UI/Sources/TTScrollView.m
  111. +2 −1 src/Three20UI/Sources/TTSearchBar.m
  112. +2 −1 src/Three20UI/Sources/TTSearchDisplayController.m
  113. +4 −3 src/Three20UI/Sources/TTSearchTextField.m
  114. +2 −1 src/Three20UI/Sources/TTSearchTextFieldInternal.m
  115. +2 −1 src/Three20UI/Sources/TTSearchlightLabel.m
  116. +2 −1 src/Three20UI/Sources/TTSectionedDataSource.m
  117. +2 −1 src/Three20UI/Sources/TTSplitViewController.m
  118. +11 −1 src/Three20UI/Sources/TTStyledTextLabel.m
  119. +2 −1 src/Three20UI/Sources/TTStyledTextTableCell.m
  120. +7 −4 src/Three20UI/Sources/TTStyledTextTableItemCell.m
  121. +2 −1 src/Three20UI/Sources/TTTab.m
  122. +2 −1 src/Three20UI/Sources/TTTabBar.m
  123. +2 −1 src/Three20UI/Sources/TTTabGrid.m
  124. +2 −1 src/Three20UI/Sources/TTTabItem.m
  125. +4 −1 src/Three20UI/Sources/TTTabStrip.m
  126. +2 −1 src/Three20UI/Sources/TTTableActivityItemCell.m
  127. +2 −1 src/Three20UI/Sources/TTTableCaptionItem.m
  128. +4 −1 src/Three20UI/Sources/TTTableCaptionItemCell.m
  129. +9 −2 src/Three20UI/Sources/TTTableControlCell.m
  130. +2 −1 src/Three20UI/Sources/TTTableControlItem.m
  131. +2 −1 src/Three20UI/Sources/TTTableFlushViewCell.m
  132. +2 −1 src/Three20UI/Sources/TTTableHeaderView.m
  133. +2 −1 src/Three20UI/Sources/TTTableImageItem.m
  134. +4 −3 src/Three20UI/Sources/TTTableImageItemCell.m
  135. +2 −1 src/Three20UI/Sources/TTTableItem.m
  136. +2 −1 src/Three20UI/Sources/TTTableLinkedItem.m
  137. +2 −1 src/Three20UI/Sources/TTTableMessageItem.m
  138. +5 −1 src/Three20UI/Sources/TTTableMessageItemCell.m
  139. +3 −1 src/Three20UI/Sources/TTTableMoreButtonCell.m
  140. +4 −1 src/Three20UI/Sources/TTTableRightCaptionItemCell.m
  141. +4 −2 src/Three20UI/Sources/TTTableStyledTextItem.m
  142. +4 −1 src/Three20UI/Sources/TTTableSubtextItemCell.m
  143. +2 −1 src/Three20UI/Sources/TTTableSubtitleItem.m
  144. +4 −1 src/Three20UI/Sources/TTTableSubtitleItemCell.m
  145. +2 −1 src/Three20UI/Sources/TTTableTextItem.m
  146. +3 −1 src/Three20UI/Sources/TTTableTextItemCell.m
  147. +2 −1 src/Three20UI/Sources/TTTableView.m
  148. +2 −0 src/Three20UI/Sources/TTTableViewCell.m
  149. +33 −7 src/Three20UI/Sources/TTTableViewController.m
  150. +2 −1 src/Three20UI/Sources/TTTableViewDelegate.m
  151. +2 −1 src/Three20UI/Sources/TTTableViewDragRefreshDelegate.m
  152. +2 −1 src/Three20UI/Sources/TTTableViewItem.m
  153. +2 −1 src/Three20UI/Sources/TTTableViewNetworkEnabledDelegate.m
  154. +6 −3 src/Three20UI/Sources/TTTextBarController.m
  155. +2 −1 src/Three20UI/Sources/TTTextEditor.m
  156. +2 −1 src/Three20UI/Sources/TTTextEditorInternal.m
  157. +3 −1 src/Three20UI/Sources/TTThumbView.m
  158. +2 −1 src/Three20UI/Sources/TTThumbsDataSource.m
  159. +2 −1 src/Three20UI/Sources/TTThumbsTableViewCell.m
  160. +6 −3 src/Three20UI/Sources/TTThumbsViewController.m
  161. +2 −1 src/Three20UI/Sources/TTView.m
  162. +4 −2 src/Three20UI/Sources/TTViewController.m
  163. +24 −3 src/Three20UI/Sources/TTWebController.m
  164. +2 −1 src/Three20UI/Sources/TTYouTubeView.m
  165. +4 −2 src/Three20UI/Sources/UIViewAdditions.m
  166. +0 −2 src/Three20UI/Three20UI.xcodeproj/project.pbxproj
  167. +10 −0 src/Three20UICommon/Headers/TTGlobalUICommon.h
  168. +4 −2 src/Three20UICommon/Sources/TTBaseViewController.m
  169. +29 −1 src/Three20UICommon/Sources/TTGlobalUICommon.m
  170. +0 −2 src/Three20UICommon/Three20UICommon.xcodeproj/project.pbxproj
  171. +4 −1 src/Three20UINavigator/Sources/TTBaseNavigator.m
  172. +1 −1 src/Three20UINavigator/Sources/TTGlobalNavigatorMetrics.m
  173. +4 −2 src/Three20UINavigator/Sources/TTURLAction.m
  174. +4 −2 src/Three20UINavigator/Sources/TTURLGeneratorPattern.m
  175. +6 −3 src/Three20UINavigator/Sources/TTURLNavigatorPattern.m
  176. +2 −1 src/Three20UINavigator/Sources/TTURLPattern.m
  177. +2 −1 src/Three20UINavigator/Sources/TTURLSelector.m
  178. +2 −1 src/Three20UINavigator/Sources/TTURLWildcard.m
  179. +2 −1 src/Three20UINavigator/Sources/UIViewController+TTNavigator.m
  180. +0 −2 src/Three20UINavigator/Three20UINavigator.xcodeproj/project.pbxproj
  181. +45 −0 src/extThree20CSSStyle/Headers/TTCSSGlobalStyle.h
  182. +5 −0 src/extThree20CSSStyle/Headers/TTCSSStyleSheet.h
  183. +28 −0 src/extThree20CSSStyle/Headers/TTShadowStyleAdditions.h
  184. +55 −0 src/extThree20CSSStyle/Headers/TTTextStyleAdditions.h
  185. +27 −0 src/extThree20CSSStyle/Headers/UILabelAdditions.h
  186. +23 −0 src/extThree20CSSStyle/Headers/extThree20CSSStyle+Additions.h
  187. +1 −0 src/extThree20CSSStyle/Headers/extThree20CSSStyle.h
  188. +2 −9 src/extThree20CSSStyle/README.mdown
  189. +2 −1 src/extThree20CSSStyle/Sources/TTCSSParser.m
  190. +23 −7 src/extThree20CSSStyle/Sources/TTCSSStyleSheet.m
  191. +0 −5 src/extThree20CSSStyle/Sources/TTDefaultCSSStyleSheet.h
  192. +2 −8 src/extThree20CSSStyle/Sources/TTDefaultCSSStyleSheet.m
  193. +63 −0 src/extThree20CSSStyle/Sources/TTShadowStyleAdditions.m
  194. +130 −0 src/extThree20CSSStyle/Sources/TTTextStyleAdditions.m
  195. +73 −0 src/extThree20CSSStyle/Sources/UILabelAdditions.m
  196. +50 −0 src/extThree20CSSStyle/extThree20CSSStyle.xcodeproj/project.pbxproj
  197. +3 −0 src/extThree20JSON/Source/TTURLJSONResponse.m
  198. +61 −2 src/extThree20JSON/Vendors/JSON/Changes.markdown
  199. +14 −0 src/extThree20JSON/Vendors/JSON/Credits.markdown
  200. +28 −24 src/extThree20JSON/Vendors/JSON/JSON.h
  201. +61 −0 src/extThree20JSON/Vendors/JSON/NSObject+JSON.h
  202. +60 −0 src/extThree20JSON/Vendors/JSON/NSObject+JSON.m
  203. 0 src/extThree20JSON/Vendors/JSON/Readme.markdown
  204. +47 −20 src/extThree20JSON/Vendors/JSON/SBJsonParser.h
  205. +69 −465 src/extThree20JSON/Vendors/JSON/SBJsonParser.m
  206. +136 −0 src/extThree20JSON/Vendors/JSON/SBJsonStreamParser.h
  207. +317 −0 src/extThree20JSON/Vendors/JSON/SBJsonStreamParser.m
  208. +88 −0 src/extThree20JSON/Vendors/JSON/SBJsonStreamParserAdapter.h
  209. +175 −0 src/extThree20JSON/Vendors/JSON/SBJsonStreamParserAdapter.m
  210. +89 −0 src/extThree20JSON/Vendors/JSON/SBJsonStreamParserState.h
  211. +370 −0 src/extThree20JSON/Vendors/JSON/SBJsonStreamParserState.m
  212. +163 −0 src/extThree20JSON/Vendors/JSON/SBJsonStreamWriter.h
  213. +372 −0 src/extThree20JSON/Vendors/JSON/SBJsonStreamWriter.m
  214. +75 −0 src/extThree20JSON/Vendors/JSON/SBJsonStreamWriterState.h
  215. +132 −0 src/extThree20JSON/Vendors/JSON/SBJsonStreamWriterState.m
  216. +70 −0 src/extThree20JSON/Vendors/JSON/SBJsonTokeniser.h
  217. +508 −0 src/extThree20JSON/Vendors/JSON/SBJsonTokeniser.m
  218. +52 −47 src/extThree20JSON/Vendors/JSON/SBJsonWriter.h
  219. +58 −195 src/extThree20JSON/Vendors/JSON/SBJsonWriter.m
  220. +32 −0 src/extThree20JSON/Vendors/YAJL/GHKit/GHNSBundle+Utils.h
  221. +33 −0 src/extThree20JSON/Vendors/YAJL/GHKit/GHNSBundle+Utils.m
  222. +62 −0 src/extThree20JSON/Vendors/YAJL/NSBundle+YAJL.h
  223. +52 −0 src/extThree20JSON/Vendors/YAJL/NSBundle+YAJL.m
  224. +0 −1 src/extThree20JSON/Vendors/YAJL/NSObject+YAJL.m
  225. +47 −151 src/extThree20JSON/Vendors/YAJL/README.md
  226. +5 −1 src/extThree20JSON/Vendors/YAJL/YAJL.h
  227. +24 −0 src/extThree20JSON/Vendors/YAJL/YAJLDocument.h
  228. +9 −1 src/extThree20JSON/Vendors/YAJL/YAJLDocument.m
  229. +80 −2 src/extThree20JSON/extThree20JSON.xcodeproj/project.pbxproj
  230. +14 −6 src/scripts/Pbxproj.py
@@ -0,0 +1,18 @@
+//
+// Copyright 2009-2011 Facebook
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+@interface SampleCSSStyleSheet : TTDefaultCSSStyleSheet {}
+@end
@@ -0,0 +1,36 @@
+//
+// Copyright 2009-2011 Facebook
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+#import "SampleCSSStyleSheet.h"
+
+@implementation SampleCSSStyleSheet
+
+- (TTStyle *)h3:(UIControlState)state {
+ return
+ [TTSolidFillStyle styleWithColor:TTCSSSTATE(@"h3", backgroundColor, state) next:
+ [TTTextStyle styleWithCssSelector:@"h3" forState:state next:
+ nil]];
+}
+
+- (TTStyle *)h4:(UIControlState)state {
+ return
+ [TTSolidFillStyle styleWithColor:TTCSSSTATE(@"h4text", backgroundColor, state) next:
+ [TTShadowStyle styleWithCssSelector:@"h4shadow" forState:state next:
+ [TTTextStyle styleWithCssSelector:@"h4text" forState:state next:
+ nil]]];
+}
+
+@end
@@ -16,8 +16,6 @@
@interface StyleSheetViewController : TTViewController {
@private
- TTCSSStyleSheet* _styleSheet;
-
BOOL _loadedSuccessfully;
}
@@ -16,6 +16,8 @@
#import "StyleSheetViewController.h"
+#import "SampleCSSStyleSheet.h"
+
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -25,26 +27,19 @@ @implementation StyleSheetViewController
///////////////////////////////////////////////////////////////////////////////////////////////////
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
- if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
- _styleSheet = [[TTCSSStyleSheet alloc] init];
-
+ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
+ if (self) {
+ SampleCSSStyleSheet *_styleSheet = [[[SampleCSSStyleSheet alloc] init] autorelease];
_loadedSuccessfully = [_styleSheet
- loadFromFilename:TTPathForBundleResource(@"stylesheet.css")];
+ addStyleSheetFromDisk:TTPathForBundleResource(@"stylesheet.css")];
+ [TTStyleSheet setGlobalStyleSheet:_styleSheet];
}
return self;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
-- (void)dealloc {
- TT_RELEASE_SAFELY(_styleSheet);
-
- [super dealloc];
-}
-
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)loadView {
[super loadView];
@@ -55,23 +50,50 @@ - (void)loadView {
}
self.title = @"Three20 CSS extension";
+ self.view.backgroundColor = TTCSS(@"body", backgroundColor);
- self.view.backgroundColor = [_styleSheet backgroundColorWithCssSelector: @"body"
- forState: UIControlStateNormal];
-
+ // Using helper macro
UILabel* headerLabel = [[UILabel alloc] initWithFrame:CGRectZero];
headerLabel.text = @"Header text";
- headerLabel.font = [_styleSheet fontWithCssSelector:@"h1" forState:UIControlStateNormal];
- headerLabel.textColor = [_styleSheet colorWithCssSelector:@"h1" forState:UIControlStateNormal];
- headerLabel.backgroundColor = [_styleSheet backgroundColorWithCssSelector: @"h1"
- forState: UIControlStateNormal];
- headerLabel.shadowColor = [_styleSheet textShadowColorWithCssSelector: @"h1"
- forState: UIControlStateNormal];
- headerLabel.shadowOffset = [_styleSheet textShadowOffsetWithCssSelector: @"h1"
- forState: UIControlStateNormal];
+ headerLabel.font = TTCSS(@"h1", font);
+ headerLabel.textColor = TTCSS(@"h1", color);
+ headerLabel.backgroundColor = TTCSS(@"h1", backgroundColor);
+ headerLabel.shadowColor = TTCSS(@"h1", shadowColor);
+ headerLabel.shadowOffset = TTCSS(@"h1", shadowOffset);
[headerLabel sizeToFit];
[self.view addSubview:headerLabel];
+
+ // Using UILabel addition
+ UILabel* headerLabel2 = [[UILabel alloc] initWithFrame:CGRectZero];
+ headerLabel2.text = @"Header 2 text";
+ [headerLabel2 applyCssSelector:@"h2"];
+ [headerLabel2 sizeToFit];
+ CGFloat top = headerLabel.frame.size.height;
+ CGRect frame = headerLabel2.frame;
+ frame.origin.y = top;
+ headerLabel2.frame = frame;
+ [self.view addSubview:headerLabel2];
+
+ // Using TTTextStyle addition
+ TTButton* headerLabel3 = [TTButton buttonWithStyle:@"h3:" title:@"Header 3 text"];
+ [headerLabel3 sizeToFit];
+ top += headerLabel2.frame.size.height;
+ frame = headerLabel3.frame;
+ frame.origin.y = top;
+ headerLabel3.frame = frame;
+ [self.view addSubview:headerLabel3];
+
+ // Using TTTextStyle + TTShadowStyle addition
+ TTButton* headerLabel4 = [TTButton buttonWithStyle:@"h4:" title:@"Header 4 text"];
+ [headerLabel4 sizeToFit];
+ top += headerLabel2.frame.size.height;
+ frame = headerLabel4.frame;
+ frame.origin.y = top;
+ headerLabel4.frame = frame;
+ [self.view addSubview:headerLabel4];
+
TT_RELEASE_SAFELY(headerLabel);
+ TT_RELEASE_SAFELY(headerLabel2);
}
@@ -6,6 +6,6 @@
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "Three20/Three20.h"
- #import "extThree20CSSStyle/extThree20CSSStyle.h"
+ #import "extThree20CSSStyle/extThree20CSSStyle+Additions.h"
#import "Atlas.h"
#endif
@@ -15,13 +15,44 @@
*/
body {
- background-color: #111;
+ background-color: #114;
}
h1 {
font-weight: bold;
font-size: 50pt;
- color: #666;
+ color: #FF6;
background-color: transparent;
- text-shadow: 1px 1px 1px #999; /* blur amount (3rd value) doesn't do anything */
+ text-shadow: 2px 2px 0px #F99;
}
+
+h2 {
+ font-size: 45pt;
+ color: white;
+ background-color: transparent;
+ text-shadow: 0px 1px 3px #9BF;
+}
+
+h3, h3:hover {
+ font-size: 35pt;
+ font-weight: bold;
+ color: white;
+ background-color: transparent;
+ text-shadow: 3px -3px 3px #99F;
+}
+
+h3:hover {
+ color: #99F;
+ text-shadow: 3px 3px 3px white;
+}
+
+h4text, h4text:hover {
+ color: white;
+ font-size: 35pt;
+ background-color: transparent;
+}
+
+h4text:hover { color: gray; }
+
+h4shadow { text-shadow: 3px 3px 4px rgba(0, 255, 0, .5); }
+h4shadow:hover { text-shadow: 0px 0px 4px green; }
@@ -28,6 +28,7 @@
6E850FAE11B176F10071A4FD /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 6E850FAC11B176F10071A4FD /* Default.png */; };
6E850FAF11B176F10071A4FD /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 6E850FAD11B176F10071A4FD /* Icon.png */; };
6E850FB811B1795F0071A4FD /* Atlas.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E850FB711B1795F0071A4FD /* Atlas.m */; };
+ 90C3A1C1132BF66B00AC06A2 /* SampleCSSStyleSheet.m in Sources */ = {isa = PBXBuildFile; fileRef = 90C3A1C0132BF66B00AC06A2 /* SampleCSSStyleSheet.m */; };
EB383B6510BBF62B0000B2D2 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EB383B6410BBF62B0000B2D2 /* QuartzCore.framework */; };
/* End PBXBuildFile section */
@@ -234,6 +235,8 @@
6E850FB711B1795F0071A4FD /* Atlas.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Atlas.m; sourceTree = "<group>"; };
6E8513D111B19B080071A4FD /* TTCSSStyleSheets_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TTCSSStyleSheets_Prefix.pch; path = Headers/TTCSSStyleSheets_Prefix.pch; sourceTree = "<group>"; };
6E8513D211B19B0E0071A4FD /* TTCSSStyleSheets-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "TTCSSStyleSheets-Info.plist"; sourceTree = "<group>"; };
+ 90C3A1BF132BF66B00AC06A2 /* SampleCSSStyleSheet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SampleCSSStyleSheet.h; sourceTree = "<group>"; };
+ 90C3A1C0132BF66B00AC06A2 /* SampleCSSStyleSheet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SampleCSSStyleSheet.m; sourceTree = "<group>"; };
EB383B6410BBF62B0000B2D2 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
@@ -268,6 +271,8 @@
1D3623250D0F684500981E51 /* AppDelegate.m */,
6E850FB611B1795F0071A4FD /* Atlas.h */,
6E850FB711B1795F0071A4FD /* Atlas.m */,
+ 90C3A1BF132BF66B00AC06A2 /* SampleCSSStyleSheet.h */,
+ 90C3A1C0132BF66B00AC06A2 /* SampleCSSStyleSheet.m */,
);
path = Classes;
sourceTree = "<group>";
@@ -680,6 +685,7 @@
1D3623260D0F684500981E51 /* AppDelegate.m in Sources */,
6E850FB811B1795F0071A4FD /* Atlas.m in Sources */,
6E036BF811B38F3C0025E8EE /* StyleSheetViewController.m in Sources */,
+ 90C3A1C1132BF66B00AC06A2 /* SampleCSSStyleSheet.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -3,6 +3,8 @@
@implementation ImageTest1Controller
+static NSString * kDataUrlImage = @"data:image/png;base64,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";
+
- (void)loadView {
self.view = [[[UIView alloc] init] autorelease];
self.view.backgroundColor = [UIColor whiteColor];
@@ -12,6 +14,13 @@ - (void)loadView {
imageView.autoresizesToImage = YES;
imageView.urlPath = @"http://farm4.static.flickr.com/3163/3110335722_7a906f9d8b_m.jpg";
[self.view addSubview:imageView];
+
+ TTImageView* dataImageView = [[[TTImageView alloc] initWithFrame:CGRectMake(130, 200, 0, 0)]
+ autorelease];
+ dataImageView.autoresizesToImage = YES;
+ dataImageView.urlPath = kDataUrlImage;
+ [self.view addSubview:dataImageView];
+
}
- (void)dealloc {
Oops, something went wrong.

0 comments on commit 4aed866

Please sign in to comment.