├── Screenshot1.png ├── Screenshot2.png ├── HighlightLabel ├── en.lproj │ ├── InfoPlist.strings │ ├── ViewController_iPhone.xib │ └── ViewController_iPad.xib ├── Default.png ├── Default@2x.png ├── Default-568h@2x.png ├── ViewController.h ├── HighlightLabel-Prefix.pch ├── main.m ├── AppDelegate.h ├── ViewController.m ├── HighlightLabel-Info.plist └── AppDelegate.m ├── HighlightLabel.xcodeproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcuserdata │ │ └── ragunathjawahar.xcuserdatad │ │ └── UserInterfaceState.xcuserstate ├── xcuserdata │ └── ragunathjawahar.xcuserdatad │ │ └── xcschemes │ │ ├── xcschememanagement.plist │ │ └── HighlightLabel.xcscheme └── project.pbxproj ├── .gitignore ├── classes ├── HighlightLabel.h └── HighlightLabel.m ├── LICENSE └── README.md /Screenshot1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dinarajas/HighlightLabel/HEAD/Screenshot1.png -------------------------------------------------------------------------------- /Screenshot2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dinarajas/HighlightLabel/HEAD/Screenshot2.png -------------------------------------------------------------------------------- /HighlightLabel/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /HighlightLabel/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dinarajas/HighlightLabel/HEAD/HighlightLabel/Default.png -------------------------------------------------------------------------------- /HighlightLabel/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dinarajas/HighlightLabel/HEAD/HighlightLabel/Default@2x.png -------------------------------------------------------------------------------- /HighlightLabel/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dinarajas/HighlightLabel/HEAD/HighlightLabel/Default-568h@2x.png -------------------------------------------------------------------------------- /HighlightLabel.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /HighlightLabel.xcodeproj/project.xcworkspace/xcuserdata/ragunathjawahar.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dinarajas/HighlightLabel/HEAD/HighlightLabel.xcodeproj/project.xcworkspace/xcuserdata/ragunathjawahar.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | .DS_Store 3 | build/ 4 | *.pbxuser 5 | !default.pbxuser 6 | *.mode1v3 7 | !default.mode1v3 8 | *.mode2v3 9 | !default.mode2v3 10 | *.perspectivev3 11 | !default.perspectivev3 12 | *.xcworkspace 13 | !default.xcworkspace 14 | xcuserdata 15 | profile 16 | *.moved-aside 17 | DerivedData 18 | .idea/ 19 | -------------------------------------------------------------------------------- /HighlightLabel/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // HighlightLabel 4 | // 5 | // Created by Dinesh Raja on 04/08/13. 6 | // Copyright (c) 2013 dina.raja.s@gmail.com. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "HighlightLabel.h" 11 | 12 | @interface ViewController : UIViewController 13 | 14 | @property (strong, nonatomic) IBOutlet HighlightLabel *highlightLabel; 15 | @end 16 | -------------------------------------------------------------------------------- /HighlightLabel/HighlightLabel-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'HighlightLabel' target in the 'HighlightLabel' project 3 | // 4 | 5 | #import 6 | 7 | #ifndef __IPHONE_4_0 8 | #warning "This project uses features only available in iOS SDK 4.0 and later." 9 | #endif 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /classes/HighlightLabel.h: -------------------------------------------------------------------------------- 1 | // 2 | // HighlightLabel.h 3 | // HighlightLabel 4 | // 5 | // Created by Dinesh Raja on 04/08/13. 6 | // Copyright (c) 2013 dina.raja.s@gmail.com. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface HighlightLabel : UILabel 12 | 13 | @property (nonatomic, strong) NSString *highlightText; 14 | @property (nonatomic, strong) UIColor *highlightColor; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /HighlightLabel/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // HighlightLabel 4 | // 5 | // Created by Dinesh Raja on 04/08/13. 6 | // Copyright (c) 2013 dina.raja.s@gmail.com. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "AppDelegate.h" 12 | 13 | int main(int argc, char *argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /HighlightLabel/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // HighlightLabel 4 | // 5 | // Created by Dinesh Raja on 04/08/13. 6 | // Copyright (c) 2013 dina.raja.s@gmail.com. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class ViewController; 12 | 13 | @interface AppDelegate : UIResponder 14 | 15 | @property (strong, nonatomic) UIWindow *window; 16 | 17 | @property (strong, nonatomic) ViewController *viewController; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /HighlightLabel.xcodeproj/xcuserdata/ragunathjawahar.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | HighlightLabel.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 4A5F65FE17AE5E7B006EDDA8 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013, Dinesh Raja 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 10 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 12 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 13 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /HighlightLabel/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // HighlightLabel 4 | // 5 | // Created by Dinesh Raja on 04/08/13. 6 | // Copyright (c) 2013 dina.raja.s@gmail.com. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @interface ViewController () 12 | 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad 18 | { 19 | [super viewDidLoad]; 20 | // Do any additional setup after loading the view, typically from a nib. 21 | _highlightLabel.text = @"Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda."; 22 | _highlightLabel.highlightText = @"Lorem ipsum dolor sit er elit lamet"; 23 | _highlightLabel.highlightColor = [UIColor yellowColor]; 24 | } 25 | 26 | - (void)didReceiveMemoryWarning 27 | { 28 | [super didReceiveMemoryWarning]; 29 | // Dispose of any resources that can be recreated. 30 | } 31 | 32 | - (void)viewDidUnload { 33 | [self setHighlightLabel:nil]; 34 | [super viewDidUnload]; 35 | } 36 | @end 37 | -------------------------------------------------------------------------------- /HighlightLabel/HighlightLabel-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIdentifier 12 | com.mobsandgeeks.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | LSRequiresIPhoneOS 26 | 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UISupportedInterfaceOrientations~ipad 38 | 39 | UIInterfaceOrientationPortrait 40 | UIInterfaceOrientationPortraitUpsideDown 41 | UIInterfaceOrientationLandscapeLeft 42 | UIInterfaceOrientationLandscapeRight 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | HighlightLabel 2 | ============== 3 | 4 | Now it's easy to highlight any text in your UILabel. 5 | 6 | ##Features 7 | 8 | * ARC enabled. 9 | * Supports from iOS 4.3. 10 | * Change the highlight color 11 | * Uses `NSAttributedString`. So no performance issues. 12 | 13 | ![HighlightLabel Screenshot](https://raw.github.com/dineshrajas/HighlightLabel/master/Screenshot1.png) 14 | 15 | ![HighlightLabel Screenshot](https://raw.github.com/dineshrajas/HighlightLabel/master/Screenshot2.png) 16 | 17 | ##Dependency 18 | 19 | * CoreText.Framework 20 | 21 | ##Installation 22 | 23 | Add the `Classes` folder to your project. Add `CoreText` framework to your project. HighlightLabel uses ARC. 24 | If you have a project that doesn't use ARC, just add the `-fobjc-arc` compiler flag to the HighlightLabel files. 25 | 26 | ##Usage 27 | 28 | ###Basic Setup 29 | 30 | In your viewController file:
31 | 32 | ```objectivec 33 | #import "HighlightLabel.h" 34 | 35 | // _label is an outlet for HighlightLabel 36 | _label.text = @"Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda."; 37 | _label.highlightText = @"Lorem ipsum dolor sit er elit lamet"; 38 | _label.highlightColor = [UIColor yellowColor]; 39 | ``` 40 | 41 | ##Enhancement 42 | 43 | For present, It won't support the `textAlignment` for `UILabel`. Hope I will update it soon. 44 | 45 | ##Contact 46 | 47 | Please forward your queries to me
48 | dina.raja.s@gmail.com 49 | 50 | Fork and contribute to this project if you can. Thank you. 51 | 52 | -------------------------------------------------------------------------------- /HighlightLabel/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // HighlightLabel 4 | // 5 | // Created by Dinesh Raja on 04/08/13. 6 | // Copyright (c) 2013 dina.raja.s@gmail.com. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | #import "ViewController.h" 12 | 13 | @implementation AppDelegate 14 | 15 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 16 | { 17 | self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 18 | // Override point for customization after application launch. 19 | if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { 20 | self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil]; 21 | } else { 22 | self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil]; 23 | } 24 | self.window.rootViewController = self.viewController; 25 | [self.window makeKeyAndVisible]; 26 | return YES; 27 | } 28 | 29 | - (void)applicationWillResignActive:(UIApplication *)application 30 | { 31 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 32 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 33 | } 34 | 35 | - (void)applicationDidEnterBackground:(UIApplication *)application 36 | { 37 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 38 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 39 | } 40 | 41 | - (void)applicationWillEnterForeground:(UIApplication *)application 42 | { 43 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 44 | } 45 | 46 | - (void)applicationDidBecomeActive:(UIApplication *)application 47 | { 48 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 49 | } 50 | 51 | - (void)applicationWillTerminate:(UIApplication *)application 52 | { 53 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 54 | } 55 | 56 | @end 57 | -------------------------------------------------------------------------------- /HighlightLabel.xcodeproj/xcuserdata/ragunathjawahar.xcuserdatad/xcschemes/HighlightLabel.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 51 | 52 | 58 | 59 | 60 | 61 | 62 | 63 | 69 | 70 | 76 | 77 | 78 | 79 | 81 | 82 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /classes/HighlightLabel.m: -------------------------------------------------------------------------------- 1 | // 2 | // HighlightLabel.m 3 | // HighlightLabel 4 | // 5 | // Created by Dinesh Raja on 04/08/13. 6 | // Copyright (c) 2013 dina.raja.s@gmail.com. All rights reserved. 7 | // 8 | 9 | #import "HighlightLabel.h" 10 | #import "CoreText/CoreText.h" 11 | 12 | @implementation HighlightLabel 13 | @synthesize text = _text; 14 | @synthesize highlightText = _highlightText; 15 | @synthesize highlightColor = _highlightColor; 16 | 17 | - (id)initWithFrame:(CGRect)frame 18 | { 19 | self = [super initWithFrame:frame]; 20 | if (self) { 21 | // Initialization code 22 | } 23 | return self; 24 | } 25 | 26 | // Only override drawRect: if you perform custom drawing. 27 | // An empty implementation adversely affects performance during animation. 28 | - (void)drawRect:(CGRect)rect 29 | { 30 | if (self.text) { 31 | NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:self.text]; 32 | 33 | CTFontRef aFont = CTFontCreateWithName((__bridge CFStringRef)[self.font fontName], [self.font pointSize], NULL); 34 | 35 | [string addAttribute:(__bridge NSString *)kCTFontAttributeName 36 | value:(__bridge id)aFont 37 | range:NSMakeRange(0, [string length])]; 38 | 39 | [string addAttribute:(__bridge NSString *)kCTForegroundColorAttributeName 40 | value:(id)[self textColor].CGColor 41 | range:NSMakeRange(0, [string length])]; 42 | 43 | CFRelease(aFont); 44 | 45 | // Highlight the text specified.. 46 | if (self.highlightText) { 47 | 48 | NSUInteger length = [self.text length]; 49 | NSRange range = NSMakeRange(0, length); 50 | 51 | while(range.location != NSNotFound) 52 | { 53 | range = [self.text rangeOfString:self.highlightText options:NSCaseInsensitiveSearch range:range]; 54 | if(range.location != NSNotFound) { 55 | [string addAttribute:@"HighlightText" value:[UIColor yellowColor] range:NSMakeRange(range.location, [self.highlightText length])]; 56 | range = NSMakeRange(range.location + range.length, length - (range.location + range.length)); 57 | } 58 | } 59 | } 60 | 61 | CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString((__bridge CFAttributedStringRef)string); 62 | 63 | CGMutablePathRef path = CGPathCreateMutable(); 64 | CGPathAddRect(path, NULL, CGRectMake(0, 0, self.bounds.size.width, self.bounds.size.height)); 65 | 66 | CTFrameRef totalFrame = CTFramesetterCreateFrame(framesetter, CFRangeMake(0, 0), path, NULL); 67 | 68 | CGContextRef context = UIGraphicsGetCurrentContext(); 69 | CGContextSetTextMatrix(context, CGAffineTransformIdentity); 70 | CGContextTranslateCTM(context, 0, self.bounds.size.height); 71 | CGContextScaleCTM(context, 1.0, -1.0); 72 | 73 | // Highlight the text specified.. 74 | if (self.highlightText) { 75 | 76 | NSArray* lines = (__bridge NSArray*)CTFrameGetLines(totalFrame); 77 | CFIndex lineCount = [lines count]; 78 | 79 | CGPoint origins[lineCount]; 80 | CTFrameGetLineOrigins(totalFrame, CFRangeMake(0, 0), origins); 81 | 82 | for(CFIndex index = 0; index < lineCount; index++) 83 | { 84 | CTLineRef line = CFArrayGetValueAtIndex((CFArrayRef)lines, index); 85 | 86 | CFArrayRef glyphRuns = CTLineGetGlyphRuns(line); 87 | CFIndex glyphCount = CFArrayGetCount(glyphRuns); 88 | 89 | for (int i = 0; i < glyphCount; ++i) { 90 | CTRunRef run = CFArrayGetValueAtIndex(glyphRuns, i); 91 | 92 | NSDictionary *attributes = (__bridge NSDictionary*)CTRunGetAttributes(run); 93 | 94 | if ([attributes objectForKey:@"HighlightText"]){ 95 | CGRect runBounds; 96 | CGFloat ascent, descent; 97 | 98 | runBounds.size.width = CTRunGetTypographicBounds(run, CFRangeMake(0, 0), &ascent, &descent, NULL); 99 | runBounds.size.height = ascent + descent; 100 | 101 | runBounds.origin.x = CTLineGetOffsetForStringIndex(line, CTRunGetStringRange(run).location, NULL); 102 | runBounds.origin.y = self.frame.size.height - origins[lineCount - index].y - runBounds.size.height; 103 | 104 | CGColorRef highlightColor = (_highlightColor) ? _highlightColor.CGColor : [UIColor yellowColor].CGColor; 105 | CGContextSetFillColorWithColor(context, highlightColor); 106 | CGContextSetStrokeColorWithColor(context, highlightColor); 107 | CGContextStrokePath(context); 108 | CGContextFillRect(context, runBounds); 109 | } 110 | } 111 | } 112 | } 113 | 114 | CTFrameDraw(totalFrame, context); 115 | 116 | CFRelease(totalFrame); 117 | CGPathRelease(path); 118 | CFRelease(framesetter); 119 | } 120 | } 121 | 122 | - (void)setText:(NSString *)text { 123 | _text = text; 124 | [self setNeedsDisplay]; 125 | } 126 | 127 | - (void)setHighlightText:(NSString *)highlightText { 128 | _highlightText = highlightText; 129 | [self setNeedsDisplay]; 130 | } 131 | 132 | @end 133 | -------------------------------------------------------------------------------- /HighlightLabel/en.lproj/ViewController_iPhone.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1552 5 | 11E53 6 | 3084 7 | 1138.47 8 | 569.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 2083 12 | 13 | 14 | IBProxyObject 15 | IBUILabel 16 | IBUIView 17 | 18 | 19 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 20 | 21 | 22 | PluginDependencyRecalculationVersion 23 | 24 | 25 | 26 | 27 | IBFilesOwner 28 | IBCocoaTouchFramework 29 | 30 | 31 | IBFirstResponder 32 | IBCocoaTouchFramework 33 | 34 | 35 | 36 | 274 37 | 38 | 39 | 40 | 292 41 | {{32, 94}, {256, 359}} 42 | 43 | 44 | _NS:9 45 | NO 46 | YES 47 | 7 48 | NO 49 | IBCocoaTouchFramework 50 | 51 | Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda. 52 | 53 | 54 | 1 55 | MCAwIDAAA 56 | darkTextColor 57 | 58 | 59 | 0 60 | 20 61 | 62 | 1 63 | 17 64 | 65 | 66 | Helvetica 67 | 17 68 | 16 69 | 70 | NO 71 | 256 72 | 73 | 74 | {{0, 20}, {320, 548}} 75 | 76 | 77 | 78 | 3 79 | MC43NQA 80 | 81 | 2 82 | 83 | 84 | NO 85 | 86 | 87 | IBUIScreenMetrics 88 | 89 | YES 90 | 91 | 92 | 93 | 94 | 95 | {320, 568} 96 | {568, 320} 97 | 98 | 99 | IBCocoaTouchFramework 100 | Retina 4 Full Screen 101 | 2 102 | 103 | IBCocoaTouchFramework 104 | 105 | 106 | 107 | 108 | 109 | 110 | view 111 | 112 | 113 | 114 | 7 115 | 116 | 117 | 118 | highlightLabel 119 | 120 | 121 | 122 | 17 123 | 124 | 125 | 126 | 127 | 128 | 0 129 | 130 | 131 | 132 | 133 | 134 | -1 135 | 136 | 137 | File's Owner 138 | 139 | 140 | -2 141 | 142 | 143 | 144 | 145 | 6 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 8 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | ViewController 162 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 163 | UIResponder 164 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 165 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 166 | HighlightLabel 167 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 168 | 169 | 170 | 171 | 172 | 173 | 17 174 | 175 | 176 | 0 177 | IBCocoaTouchFramework 178 | YES 179 | 3 180 | 2083 181 | 182 | 183 | -------------------------------------------------------------------------------- /HighlightLabel/en.lproj/ViewController_iPad.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1552 5 | 11E53 6 | 3084 7 | 1138.47 8 | 569.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 2083 12 | 13 | 14 | IBProxyObject 15 | IBUILabel 16 | IBUIView 17 | 18 | 19 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 20 | 21 | 22 | PluginDependencyRecalculationVersion 23 | 24 | 25 | 26 | 27 | IBFilesOwner 28 | IBIPadFramework 29 | 30 | 31 | IBFirstResponder 32 | IBIPadFramework 33 | 34 | 35 | 36 | 274 37 | 38 | 39 | 40 | 292 41 | {{172, 339}, {346, 307}} 42 | 43 | 44 | 45 | _NS:9 46 | NO 47 | YES 48 | 7 49 | NO 50 | IBIPadFramework 51 | 52 | Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda. 53 | 54 | 55 | 1 56 | MCAwIDAAA 57 | darkTextColor 58 | 59 | 60 | 0 61 | 15 62 | 63 | 1 64 | 17 65 | 66 | 67 | Helvetica 68 | 17 69 | 16 70 | 71 | NO 72 | 346 73 | 74 | 75 | {{0, 20}, {768, 1004}} 76 | 77 | 78 | 79 | 80 | 3 81 | MQA 82 | 83 | 2 84 | 85 | 86 | 87 | 2 88 | 89 | IBIPadFramework 90 | 91 | 92 | 93 | 94 | 95 | 96 | view 97 | 98 | 99 | 100 | 3 101 | 102 | 103 | 104 | highlightLabel 105 | 106 | 107 | 108 | 6 109 | 110 | 111 | 112 | 113 | 114 | 0 115 | 116 | 117 | 118 | 119 | 120 | -1 121 | 122 | 123 | File's Owner 124 | 125 | 126 | -2 127 | 128 | 129 | 130 | 131 | 2 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 4 140 | 141 | 142 | 143 | 144 | 145 | 146 | ViewController 147 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 148 | UIResponder 149 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 150 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 151 | HighlightLabel 152 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 153 | 154 | 155 | 156 | 157 | 158 | 6 159 | 160 | 161 | 162 | 163 | HighlightLabel 164 | UILabel 165 | 166 | IBProjectSource 167 | ./Classes/HighlightLabel.h 168 | 169 | 170 | 171 | ViewController 172 | UIViewController 173 | 174 | highlightLabel 175 | HighlightLabel 176 | 177 | 178 | highlightLabel 179 | 180 | highlightLabel 181 | HighlightLabel 182 | 183 | 184 | 185 | IBProjectSource 186 | ./Classes/ViewController.h 187 | 188 | 189 | 190 | 191 | 0 192 | IBIPadFramework 193 | YES 194 | 3 195 | 2083 196 | 197 | 198 | -------------------------------------------------------------------------------- /HighlightLabel.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 4A5F660317AE5E7B006EDDA8 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A5F660217AE5E7B006EDDA8 /* UIKit.framework */; }; 11 | 4A5F660517AE5E7B006EDDA8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A5F660417AE5E7B006EDDA8 /* Foundation.framework */; }; 12 | 4A5F660717AE5E7B006EDDA8 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A5F660617AE5E7B006EDDA8 /* CoreGraphics.framework */; }; 13 | 4A5F660D17AE5E7B006EDDA8 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4A5F660B17AE5E7B006EDDA8 /* InfoPlist.strings */; }; 14 | 4A5F660F17AE5E7B006EDDA8 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A5F660E17AE5E7B006EDDA8 /* main.m */; }; 15 | 4A5F661317AE5E7B006EDDA8 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A5F661217AE5E7B006EDDA8 /* AppDelegate.m */; }; 16 | 4A5F661517AE5E7C006EDDA8 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 4A5F661417AE5E7C006EDDA8 /* Default.png */; }; 17 | 4A5F661717AE5E7C006EDDA8 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4A5F661617AE5E7C006EDDA8 /* Default@2x.png */; }; 18 | 4A5F661917AE5E7C006EDDA8 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4A5F661817AE5E7C006EDDA8 /* Default-568h@2x.png */; }; 19 | 4A5F661C17AE5E7C006EDDA8 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A5F661B17AE5E7C006EDDA8 /* ViewController.m */; }; 20 | 4A5F661F17AE5E7C006EDDA8 /* ViewController_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4A5F661D17AE5E7C006EDDA8 /* ViewController_iPhone.xib */; }; 21 | 4A5F662217AE5E7C006EDDA8 /* ViewController_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4A5F662017AE5E7C006EDDA8 /* ViewController_iPad.xib */; }; 22 | 4A5F662F17AE6019006EDDA8 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A5F662E17AE6019006EDDA8 /* CoreText.framework */; }; 23 | 4A5F663217AE65A3006EDDA8 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = 4A5F663017AE65A3006EDDA8 /* LICENSE */; }; 24 | 4A5F663317AE65A3006EDDA8 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 4A5F663117AE65A3006EDDA8 /* README.md */; }; 25 | 4A5F663617AE66EB006EDDA8 /* Screenshot2.png in Resources */ = {isa = PBXBuildFile; fileRef = 4A5F663417AE66EB006EDDA8 /* Screenshot2.png */; }; 26 | 4A5F663717AE66EB006EDDA8 /* Screenshot1.png in Resources */ = {isa = PBXBuildFile; fileRef = 4A5F663517AE66EB006EDDA8 /* Screenshot1.png */; }; 27 | 4A5F663A17AE703B006EDDA8 /* HighlightLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A5F663917AE703B006EDDA8 /* HighlightLabel.m */; }; 28 | /* End PBXBuildFile section */ 29 | 30 | /* Begin PBXFileReference section */ 31 | 4A5F65FF17AE5E7B006EDDA8 /* HighlightLabel.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HighlightLabel.app; sourceTree = BUILT_PRODUCTS_DIR; }; 32 | 4A5F660217AE5E7B006EDDA8 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 33 | 4A5F660417AE5E7B006EDDA8 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 34 | 4A5F660617AE5E7B006EDDA8 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 35 | 4A5F660A17AE5E7B006EDDA8 /* HighlightLabel-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "HighlightLabel-Info.plist"; sourceTree = ""; }; 36 | 4A5F660C17AE5E7B006EDDA8 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 37 | 4A5F660E17AE5E7B006EDDA8 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 38 | 4A5F661017AE5E7B006EDDA8 /* HighlightLabel-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "HighlightLabel-Prefix.pch"; sourceTree = ""; }; 39 | 4A5F661117AE5E7B006EDDA8 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 40 | 4A5F661217AE5E7B006EDDA8 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 41 | 4A5F661417AE5E7C006EDDA8 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; 42 | 4A5F661617AE5E7C006EDDA8 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; 43 | 4A5F661817AE5E7C006EDDA8 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; 44 | 4A5F661A17AE5E7C006EDDA8 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; 45 | 4A5F661B17AE5E7C006EDDA8 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; 46 | 4A5F661E17AE5E7C006EDDA8 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController_iPhone.xib; sourceTree = ""; }; 47 | 4A5F662117AE5E7C006EDDA8 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController_iPad.xib; sourceTree = ""; }; 48 | 4A5F662E17AE6019006EDDA8 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; 49 | 4A5F663017AE65A3006EDDA8 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; 50 | 4A5F663117AE65A3006EDDA8 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.md; sourceTree = ""; }; 51 | 4A5F663417AE66EB006EDDA8 /* Screenshot2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Screenshot2.png; path = ../Screenshot2.png; sourceTree = ""; }; 52 | 4A5F663517AE66EB006EDDA8 /* Screenshot1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Screenshot1.png; path = ../Screenshot1.png; sourceTree = ""; }; 53 | 4A5F663817AE703B006EDDA8 /* HighlightLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HighlightLabel.h; path = classes/HighlightLabel.h; sourceTree = ""; }; 54 | 4A5F663917AE703B006EDDA8 /* HighlightLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HighlightLabel.m; path = classes/HighlightLabel.m; sourceTree = ""; }; 55 | /* End PBXFileReference section */ 56 | 57 | /* Begin PBXFrameworksBuildPhase section */ 58 | 4A5F65FC17AE5E7B006EDDA8 /* Frameworks */ = { 59 | isa = PBXFrameworksBuildPhase; 60 | buildActionMask = 2147483647; 61 | files = ( 62 | 4A5F662F17AE6019006EDDA8 /* CoreText.framework in Frameworks */, 63 | 4A5F660317AE5E7B006EDDA8 /* UIKit.framework in Frameworks */, 64 | 4A5F660517AE5E7B006EDDA8 /* Foundation.framework in Frameworks */, 65 | 4A5F660717AE5E7B006EDDA8 /* CoreGraphics.framework in Frameworks */, 66 | ); 67 | runOnlyForDeploymentPostprocessing = 0; 68 | }; 69 | /* End PBXFrameworksBuildPhase section */ 70 | 71 | /* Begin PBXGroup section */ 72 | 4A5F65F617AE5E7B006EDDA8 = { 73 | isa = PBXGroup; 74 | children = ( 75 | 4A5F662D17AE5F7B006EDDA8 /* Classes */, 76 | 4A5F660817AE5E7B006EDDA8 /* HighlightLabel */, 77 | 4A5F660117AE5E7B006EDDA8 /* Frameworks */, 78 | 4A5F660017AE5E7B006EDDA8 /* Products */, 79 | ); 80 | sourceTree = ""; 81 | }; 82 | 4A5F660017AE5E7B006EDDA8 /* Products */ = { 83 | isa = PBXGroup; 84 | children = ( 85 | 4A5F65FF17AE5E7B006EDDA8 /* HighlightLabel.app */, 86 | ); 87 | name = Products; 88 | sourceTree = ""; 89 | }; 90 | 4A5F660117AE5E7B006EDDA8 /* Frameworks */ = { 91 | isa = PBXGroup; 92 | children = ( 93 | 4A5F662E17AE6019006EDDA8 /* CoreText.framework */, 94 | 4A5F660217AE5E7B006EDDA8 /* UIKit.framework */, 95 | 4A5F660417AE5E7B006EDDA8 /* Foundation.framework */, 96 | 4A5F660617AE5E7B006EDDA8 /* CoreGraphics.framework */, 97 | ); 98 | name = Frameworks; 99 | sourceTree = ""; 100 | }; 101 | 4A5F660817AE5E7B006EDDA8 /* HighlightLabel */ = { 102 | isa = PBXGroup; 103 | children = ( 104 | 4A5F661117AE5E7B006EDDA8 /* AppDelegate.h */, 105 | 4A5F661217AE5E7B006EDDA8 /* AppDelegate.m */, 106 | 4A5F661A17AE5E7C006EDDA8 /* ViewController.h */, 107 | 4A5F661B17AE5E7C006EDDA8 /* ViewController.m */, 108 | 4A5F661D17AE5E7C006EDDA8 /* ViewController_iPhone.xib */, 109 | 4A5F662017AE5E7C006EDDA8 /* ViewController_iPad.xib */, 110 | 4A5F660917AE5E7B006EDDA8 /* Supporting Files */, 111 | ); 112 | path = HighlightLabel; 113 | sourceTree = ""; 114 | }; 115 | 4A5F660917AE5E7B006EDDA8 /* Supporting Files */ = { 116 | isa = PBXGroup; 117 | children = ( 118 | 4A5F663517AE66EB006EDDA8 /* Screenshot1.png */, 119 | 4A5F663417AE66EB006EDDA8 /* Screenshot2.png */, 120 | 4A5F660A17AE5E7B006EDDA8 /* HighlightLabel-Info.plist */, 121 | 4A5F660B17AE5E7B006EDDA8 /* InfoPlist.strings */, 122 | 4A5F660E17AE5E7B006EDDA8 /* main.m */, 123 | 4A5F661017AE5E7B006EDDA8 /* HighlightLabel-Prefix.pch */, 124 | 4A5F661417AE5E7C006EDDA8 /* Default.png */, 125 | 4A5F661617AE5E7C006EDDA8 /* Default@2x.png */, 126 | 4A5F661817AE5E7C006EDDA8 /* Default-568h@2x.png */, 127 | ); 128 | name = "Supporting Files"; 129 | sourceTree = ""; 130 | }; 131 | 4A5F662D17AE5F7B006EDDA8 /* Classes */ = { 132 | isa = PBXGroup; 133 | children = ( 134 | 4A5F663017AE65A3006EDDA8 /* LICENSE */, 135 | 4A5F663117AE65A3006EDDA8 /* README.md */, 136 | 4A5F663817AE703B006EDDA8 /* HighlightLabel.h */, 137 | 4A5F663917AE703B006EDDA8 /* HighlightLabel.m */, 138 | ); 139 | name = Classes; 140 | sourceTree = ""; 141 | }; 142 | /* End PBXGroup section */ 143 | 144 | /* Begin PBXNativeTarget section */ 145 | 4A5F65FE17AE5E7B006EDDA8 /* HighlightLabel */ = { 146 | isa = PBXNativeTarget; 147 | buildConfigurationList = 4A5F662517AE5E7C006EDDA8 /* Build configuration list for PBXNativeTarget "HighlightLabel" */; 148 | buildPhases = ( 149 | 4A5F65FB17AE5E7B006EDDA8 /* Sources */, 150 | 4A5F65FC17AE5E7B006EDDA8 /* Frameworks */, 151 | 4A5F65FD17AE5E7B006EDDA8 /* Resources */, 152 | ); 153 | buildRules = ( 154 | ); 155 | dependencies = ( 156 | ); 157 | name = HighlightLabel; 158 | productName = HighlightLabel; 159 | productReference = 4A5F65FF17AE5E7B006EDDA8 /* HighlightLabel.app */; 160 | productType = "com.apple.product-type.application"; 161 | }; 162 | /* End PBXNativeTarget section */ 163 | 164 | /* Begin PBXProject section */ 165 | 4A5F65F717AE5E7B006EDDA8 /* Project object */ = { 166 | isa = PBXProject; 167 | attributes = { 168 | LastUpgradeCheck = 0460; 169 | ORGANIZATIONNAME = "Mobs and Geeks"; 170 | }; 171 | buildConfigurationList = 4A5F65FA17AE5E7B006EDDA8 /* Build configuration list for PBXProject "HighlightLabel" */; 172 | compatibilityVersion = "Xcode 3.2"; 173 | developmentRegion = English; 174 | hasScannedForEncodings = 0; 175 | knownRegions = ( 176 | en, 177 | ); 178 | mainGroup = 4A5F65F617AE5E7B006EDDA8; 179 | productRefGroup = 4A5F660017AE5E7B006EDDA8 /* Products */; 180 | projectDirPath = ""; 181 | projectRoot = ""; 182 | targets = ( 183 | 4A5F65FE17AE5E7B006EDDA8 /* HighlightLabel */, 184 | ); 185 | }; 186 | /* End PBXProject section */ 187 | 188 | /* Begin PBXResourcesBuildPhase section */ 189 | 4A5F65FD17AE5E7B006EDDA8 /* Resources */ = { 190 | isa = PBXResourcesBuildPhase; 191 | buildActionMask = 2147483647; 192 | files = ( 193 | 4A5F660D17AE5E7B006EDDA8 /* InfoPlist.strings in Resources */, 194 | 4A5F661517AE5E7C006EDDA8 /* Default.png in Resources */, 195 | 4A5F661717AE5E7C006EDDA8 /* Default@2x.png in Resources */, 196 | 4A5F661917AE5E7C006EDDA8 /* Default-568h@2x.png in Resources */, 197 | 4A5F661F17AE5E7C006EDDA8 /* ViewController_iPhone.xib in Resources */, 198 | 4A5F662217AE5E7C006EDDA8 /* ViewController_iPad.xib in Resources */, 199 | 4A5F663217AE65A3006EDDA8 /* LICENSE in Resources */, 200 | 4A5F663317AE65A3006EDDA8 /* README.md in Resources */, 201 | 4A5F663617AE66EB006EDDA8 /* Screenshot2.png in Resources */, 202 | 4A5F663717AE66EB006EDDA8 /* Screenshot1.png in Resources */, 203 | ); 204 | runOnlyForDeploymentPostprocessing = 0; 205 | }; 206 | /* End PBXResourcesBuildPhase section */ 207 | 208 | /* Begin PBXSourcesBuildPhase section */ 209 | 4A5F65FB17AE5E7B006EDDA8 /* Sources */ = { 210 | isa = PBXSourcesBuildPhase; 211 | buildActionMask = 2147483647; 212 | files = ( 213 | 4A5F660F17AE5E7B006EDDA8 /* main.m in Sources */, 214 | 4A5F661317AE5E7B006EDDA8 /* AppDelegate.m in Sources */, 215 | 4A5F661C17AE5E7C006EDDA8 /* ViewController.m in Sources */, 216 | 4A5F663A17AE703B006EDDA8 /* HighlightLabel.m in Sources */, 217 | ); 218 | runOnlyForDeploymentPostprocessing = 0; 219 | }; 220 | /* End PBXSourcesBuildPhase section */ 221 | 222 | /* Begin PBXVariantGroup section */ 223 | 4A5F660B17AE5E7B006EDDA8 /* InfoPlist.strings */ = { 224 | isa = PBXVariantGroup; 225 | children = ( 226 | 4A5F660C17AE5E7B006EDDA8 /* en */, 227 | ); 228 | name = InfoPlist.strings; 229 | sourceTree = ""; 230 | }; 231 | 4A5F661D17AE5E7C006EDDA8 /* ViewController_iPhone.xib */ = { 232 | isa = PBXVariantGroup; 233 | children = ( 234 | 4A5F661E17AE5E7C006EDDA8 /* en */, 235 | ); 236 | name = ViewController_iPhone.xib; 237 | sourceTree = ""; 238 | }; 239 | 4A5F662017AE5E7C006EDDA8 /* ViewController_iPad.xib */ = { 240 | isa = PBXVariantGroup; 241 | children = ( 242 | 4A5F662117AE5E7C006EDDA8 /* en */, 243 | ); 244 | name = ViewController_iPad.xib; 245 | sourceTree = ""; 246 | }; 247 | /* End PBXVariantGroup section */ 248 | 249 | /* Begin XCBuildConfiguration section */ 250 | 4A5F662317AE5E7C006EDDA8 /* Debug */ = { 251 | isa = XCBuildConfiguration; 252 | buildSettings = { 253 | ALWAYS_SEARCH_USER_PATHS = NO; 254 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 255 | CLANG_CXX_LIBRARY = "libc++"; 256 | CLANG_ENABLE_OBJC_ARC = YES; 257 | CLANG_WARN_CONSTANT_CONVERSION = YES; 258 | CLANG_WARN_EMPTY_BODY = YES; 259 | CLANG_WARN_ENUM_CONVERSION = YES; 260 | CLANG_WARN_INT_CONVERSION = YES; 261 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 262 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 263 | COPY_PHASE_STRIP = NO; 264 | GCC_C_LANGUAGE_STANDARD = gnu99; 265 | GCC_DYNAMIC_NO_PIC = NO; 266 | GCC_OPTIMIZATION_LEVEL = 0; 267 | GCC_PREPROCESSOR_DEFINITIONS = ( 268 | "DEBUG=1", 269 | "$(inherited)", 270 | ); 271 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 272 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 273 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 274 | GCC_WARN_UNUSED_VARIABLE = YES; 275 | IPHONEOS_DEPLOYMENT_TARGET = 6.1; 276 | ONLY_ACTIVE_ARCH = YES; 277 | SDKROOT = iphoneos; 278 | TARGETED_DEVICE_FAMILY = "1,2"; 279 | }; 280 | name = Debug; 281 | }; 282 | 4A5F662417AE5E7C006EDDA8 /* Release */ = { 283 | isa = XCBuildConfiguration; 284 | buildSettings = { 285 | ALWAYS_SEARCH_USER_PATHS = NO; 286 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 287 | CLANG_CXX_LIBRARY = "libc++"; 288 | CLANG_ENABLE_OBJC_ARC = YES; 289 | CLANG_WARN_CONSTANT_CONVERSION = YES; 290 | CLANG_WARN_EMPTY_BODY = YES; 291 | CLANG_WARN_ENUM_CONVERSION = YES; 292 | CLANG_WARN_INT_CONVERSION = YES; 293 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 294 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 295 | COPY_PHASE_STRIP = YES; 296 | GCC_C_LANGUAGE_STANDARD = gnu99; 297 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 298 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 299 | GCC_WARN_UNUSED_VARIABLE = YES; 300 | IPHONEOS_DEPLOYMENT_TARGET = 6.1; 301 | OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; 302 | SDKROOT = iphoneos; 303 | TARGETED_DEVICE_FAMILY = "1,2"; 304 | VALIDATE_PRODUCT = YES; 305 | }; 306 | name = Release; 307 | }; 308 | 4A5F662617AE5E7C006EDDA8 /* Debug */ = { 309 | isa = XCBuildConfiguration; 310 | buildSettings = { 311 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 312 | GCC_PREFIX_HEADER = "HighlightLabel/HighlightLabel-Prefix.pch"; 313 | INFOPLIST_FILE = "HighlightLabel/HighlightLabel-Info.plist"; 314 | IPHONEOS_DEPLOYMENT_TARGET = 4.3; 315 | PRODUCT_NAME = "$(TARGET_NAME)"; 316 | WRAPPER_EXTENSION = app; 317 | }; 318 | name = Debug; 319 | }; 320 | 4A5F662717AE5E7C006EDDA8 /* Release */ = { 321 | isa = XCBuildConfiguration; 322 | buildSettings = { 323 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 324 | GCC_PREFIX_HEADER = "HighlightLabel/HighlightLabel-Prefix.pch"; 325 | INFOPLIST_FILE = "HighlightLabel/HighlightLabel-Info.plist"; 326 | IPHONEOS_DEPLOYMENT_TARGET = 4.3; 327 | PRODUCT_NAME = "$(TARGET_NAME)"; 328 | WRAPPER_EXTENSION = app; 329 | }; 330 | name = Release; 331 | }; 332 | /* End XCBuildConfiguration section */ 333 | 334 | /* Begin XCConfigurationList section */ 335 | 4A5F65FA17AE5E7B006EDDA8 /* Build configuration list for PBXProject "HighlightLabel" */ = { 336 | isa = XCConfigurationList; 337 | buildConfigurations = ( 338 | 4A5F662317AE5E7C006EDDA8 /* Debug */, 339 | 4A5F662417AE5E7C006EDDA8 /* Release */, 340 | ); 341 | defaultConfigurationIsVisible = 0; 342 | defaultConfigurationName = Release; 343 | }; 344 | 4A5F662517AE5E7C006EDDA8 /* Build configuration list for PBXNativeTarget "HighlightLabel" */ = { 345 | isa = XCConfigurationList; 346 | buildConfigurations = ( 347 | 4A5F662617AE5E7C006EDDA8 /* Debug */, 348 | 4A5F662717AE5E7C006EDDA8 /* Release */, 349 | ); 350 | defaultConfigurationIsVisible = 0; 351 | defaultConfigurationName = Release; 352 | }; 353 | /* End XCConfigurationList section */ 354 | }; 355 | rootObject = 4A5F65F717AE5E7B006EDDA8 /* Project object */; 356 | } 357 | --------------------------------------------------------------------------------