├── .gitignore ├── Example ├── LDONavigationSubtitleView.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcshareddata │ │ └── xcschemes │ │ └── Example.xcscheme ├── LDONavigationSubtitleView.xcworkspace │ └── contents.xcworkspacedata ├── LDONavigationSubtitleView │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Images.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── LaunchImage.launchimage │ │ │ └── Contents.json │ ├── LDONavigationSubtitleView-Info.plist │ ├── LDONavigationSubtitleView-Prefix.pch │ ├── LaunchScreen.storyboard │ ├── Main.storyboard │ ├── ViewController.h │ ├── ViewController.m │ ├── en.lproj │ │ └── InfoPlist.strings │ └── main.m ├── Podfile ├── Podfile.lock └── Pods │ ├── Headers │ ├── Private │ │ └── LDONavigationSubtitleView │ │ │ └── LDONavigationSubtitleView.h │ └── Public │ │ └── LDONavigationSubtitleView │ │ └── LDONavigationSubtitleView.h │ ├── Local Podspecs │ └── LDONavigationSubtitleView.podspec.json │ ├── Manifest.lock │ ├── Pods.xcodeproj │ ├── project.pbxproj │ └── xcshareddata │ │ └── xcschemes │ │ └── LDONavigationSubtitleView.xcscheme │ └── Target Support Files │ ├── LDONavigationSubtitleView │ ├── LDONavigationSubtitleView-Private.xcconfig │ ├── LDONavigationSubtitleView-dummy.m │ ├── LDONavigationSubtitleView-prefix.pch │ └── LDONavigationSubtitleView.xcconfig │ └── Pods-LDONavigationSubtitleView_Example │ ├── Pods-LDONavigationSubtitleView_Example-acknowledgements.markdown │ ├── Pods-LDONavigationSubtitleView_Example-acknowledgements.plist │ ├── Pods-LDONavigationSubtitleView_Example-dummy.m │ ├── Pods-LDONavigationSubtitleView_Example-resources.sh │ ├── Pods-LDONavigationSubtitleView_Example.debug.xcconfig │ └── Pods-LDONavigationSubtitleView_Example.release.xcconfig ├── LDONavigationSubtitleView.podspec ├── LICENSE ├── Pod └── Classes │ ├── LDONavigationSubtitleView.h │ └── LDONavigationSubtitleView.m ├── README.md ├── Screenshots └── demo_app.png └── _Pods.xcodeproj /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | build/ 4 | *.pbxuser 5 | !default.pbxuser 6 | *.mode1v3 7 | !default.mode1v3 8 | *.mode2v3 9 | !default.mode2v3 10 | *.perspectivev3 11 | !default.perspectivev3 12 | xcuserdata 13 | *.xccheckout 14 | *.moved-aside 15 | DerivedData 16 | *.hmap 17 | *.ipa 18 | *.xcuserstate 19 | 20 | # CocoaPods 21 | # 22 | # We recommend against adding the Pods directory to your .gitignore. However 23 | # you should judge for yourself, the pros and cons are mentioned at: 24 | # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control 25 | # 26 | #Pods/ 27 | -------------------------------------------------------------------------------- /Example/LDONavigationSubtitleView.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 25B1EFC5C3E99D586B647CE6 /* libPods-LDONavigationSubtitleView_Example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6916821FAF3FCB83AEFB652B /* libPods-LDONavigationSubtitleView_Example.a */; }; 11 | 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; }; 12 | 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; }; 13 | 6003F592195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; }; 14 | 6003F598195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F596195388D20070C39A /* InfoPlist.strings */; }; 15 | 6003F59A195388D20070C39A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F599195388D20070C39A /* main.m */; }; 16 | 6003F59E195388D20070C39A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F59D195388D20070C39A /* AppDelegate.m */; }; 17 | 6003F5A9195388D20070C39A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5A8195388D20070C39A /* Images.xcassets */; }; 18 | 873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */; }; 19 | 9E3EC9D01CEC572D00F9C584 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9E3EC9CF1CEC572D00F9C584 /* LaunchScreen.storyboard */; }; 20 | 9EF2C6521B53F1AE000D2155 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EF2C6511B53F1AE000D2155 /* ViewController.m */; }; 21 | /* End PBXBuildFile section */ 22 | 23 | /* Begin PBXFileReference section */ 24 | 2DC7F4180863005336F63523 /* Pods-LDONavigationSubtitleView_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LDONavigationSubtitleView_Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-LDONavigationSubtitleView_Example/Pods-LDONavigationSubtitleView_Example.release.xcconfig"; sourceTree = ""; }; 25 | 5676718C7108C87067EC75F4 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; }; 26 | 6003F58A195388D20070C39A /* LDONavigationSubtitleView_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LDONavigationSubtitleView_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 27 | 6003F58D195388D20070C39A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 28 | 6003F58F195388D20070C39A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 29 | 6003F591195388D20070C39A /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 30 | 6003F595195388D20070C39A /* LDONavigationSubtitleView-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "LDONavigationSubtitleView-Info.plist"; sourceTree = ""; }; 31 | 6003F597195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 32 | 6003F599195388D20070C39A /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 33 | 6003F59B195388D20070C39A /* LDONavigationSubtitleView-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "LDONavigationSubtitleView-Prefix.pch"; sourceTree = ""; }; 34 | 6003F59C195388D20070C39A /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 35 | 6003F59D195388D20070C39A /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 36 | 6003F5A8195388D20070C39A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 37 | 6916821FAF3FCB83AEFB652B /* libPods-LDONavigationSubtitleView_Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-LDONavigationSubtitleView_Example.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 38 | 79E32D0F1CB1F90CD7337F98 /* LDONavigationSubtitleView.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LDONavigationSubtitleView.podspec; path = ../LDONavigationSubtitleView.podspec; sourceTree = ""; }; 39 | 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; 40 | 9E3EC9CF1CEC572D00F9C584 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; 41 | 9EF2C6501B53F1AE000D2155 /* ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; 42 | 9EF2C6511B53F1AE000D2155 /* ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; 43 | E43ABDC4623DEFF533113CC9 /* Pods-LDONavigationSubtitleView_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LDONavigationSubtitleView_Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LDONavigationSubtitleView_Example/Pods-LDONavigationSubtitleView_Example.debug.xcconfig"; sourceTree = ""; }; 44 | E8A9916E309AF2DCC7D97E05 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; 45 | /* End PBXFileReference section */ 46 | 47 | /* Begin PBXFrameworksBuildPhase section */ 48 | 6003F587195388D20070C39A /* Frameworks */ = { 49 | isa = PBXFrameworksBuildPhase; 50 | buildActionMask = 2147483647; 51 | files = ( 52 | 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */, 53 | 6003F592195388D20070C39A /* UIKit.framework in Frameworks */, 54 | 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */, 55 | 25B1EFC5C3E99D586B647CE6 /* libPods-LDONavigationSubtitleView_Example.a in Frameworks */, 56 | ); 57 | runOnlyForDeploymentPostprocessing = 0; 58 | }; 59 | /* End PBXFrameworksBuildPhase section */ 60 | 61 | /* Begin PBXGroup section */ 62 | 6003F581195388D10070C39A = { 63 | isa = PBXGroup; 64 | children = ( 65 | 60FF7A9C1954A5C5007DD14C /* Podspec Metadata */, 66 | 6003F593195388D20070C39A /* Example */, 67 | 6003F58C195388D20070C39A /* Frameworks */, 68 | 6003F58B195388D20070C39A /* Products */, 69 | 9CDA0319527FCC38E08DE92F /* Pods */, 70 | ); 71 | sourceTree = ""; 72 | }; 73 | 6003F58B195388D20070C39A /* Products */ = { 74 | isa = PBXGroup; 75 | children = ( 76 | 6003F58A195388D20070C39A /* LDONavigationSubtitleView_Example.app */, 77 | ); 78 | name = Products; 79 | sourceTree = ""; 80 | }; 81 | 6003F58C195388D20070C39A /* Frameworks */ = { 82 | isa = PBXGroup; 83 | children = ( 84 | 6003F58D195388D20070C39A /* Foundation.framework */, 85 | 6003F58F195388D20070C39A /* CoreGraphics.framework */, 86 | 6003F591195388D20070C39A /* UIKit.framework */, 87 | 6916821FAF3FCB83AEFB652B /* libPods-LDONavigationSubtitleView_Example.a */, 88 | ); 89 | name = Frameworks; 90 | sourceTree = ""; 91 | }; 92 | 6003F593195388D20070C39A /* Example */ = { 93 | isa = PBXGroup; 94 | children = ( 95 | 6003F59C195388D20070C39A /* AppDelegate.h */, 96 | 6003F59D195388D20070C39A /* AppDelegate.m */, 97 | 9EF2C6501B53F1AE000D2155 /* ViewController.h */, 98 | 9EF2C6511B53F1AE000D2155 /* ViewController.m */, 99 | 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */, 100 | 9E3EC9CF1CEC572D00F9C584 /* LaunchScreen.storyboard */, 101 | 6003F5A8195388D20070C39A /* Images.xcassets */, 102 | 6003F594195388D20070C39A /* Supporting Files */, 103 | ); 104 | name = Example; 105 | path = LDONavigationSubtitleView; 106 | sourceTree = ""; 107 | }; 108 | 6003F594195388D20070C39A /* Supporting Files */ = { 109 | isa = PBXGroup; 110 | children = ( 111 | 6003F595195388D20070C39A /* LDONavigationSubtitleView-Info.plist */, 112 | 6003F596195388D20070C39A /* InfoPlist.strings */, 113 | 6003F599195388D20070C39A /* main.m */, 114 | 6003F59B195388D20070C39A /* LDONavigationSubtitleView-Prefix.pch */, 115 | ); 116 | name = "Supporting Files"; 117 | sourceTree = ""; 118 | }; 119 | 60FF7A9C1954A5C5007DD14C /* Podspec Metadata */ = { 120 | isa = PBXGroup; 121 | children = ( 122 | 79E32D0F1CB1F90CD7337F98 /* LDONavigationSubtitleView.podspec */, 123 | E8A9916E309AF2DCC7D97E05 /* README.md */, 124 | 5676718C7108C87067EC75F4 /* LICENSE */, 125 | ); 126 | name = "Podspec Metadata"; 127 | sourceTree = ""; 128 | }; 129 | 9CDA0319527FCC38E08DE92F /* Pods */ = { 130 | isa = PBXGroup; 131 | children = ( 132 | E43ABDC4623DEFF533113CC9 /* Pods-LDONavigationSubtitleView_Example.debug.xcconfig */, 133 | 2DC7F4180863005336F63523 /* Pods-LDONavigationSubtitleView_Example.release.xcconfig */, 134 | ); 135 | name = Pods; 136 | sourceTree = ""; 137 | }; 138 | /* End PBXGroup section */ 139 | 140 | /* Begin PBXNativeTarget section */ 141 | 6003F589195388D20070C39A /* LDONavigationSubtitleView_Example */ = { 142 | isa = PBXNativeTarget; 143 | buildConfigurationList = 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "LDONavigationSubtitleView_Example" */; 144 | buildPhases = ( 145 | B73F76C71F4F45BC184C5B8E /* Check Pods Manifest.lock */, 146 | 6003F586195388D20070C39A /* Sources */, 147 | 6003F587195388D20070C39A /* Frameworks */, 148 | 6003F588195388D20070C39A /* Resources */, 149 | A97E31790041119465F0CC15 /* Copy Pods Resources */, 150 | ); 151 | buildRules = ( 152 | ); 153 | dependencies = ( 154 | ); 155 | name = LDONavigationSubtitleView_Example; 156 | productName = LDONavigationSubtitleView; 157 | productReference = 6003F58A195388D20070C39A /* LDONavigationSubtitleView_Example.app */; 158 | productType = "com.apple.product-type.application"; 159 | }; 160 | /* End PBXNativeTarget section */ 161 | 162 | /* Begin PBXProject section */ 163 | 6003F582195388D10070C39A /* Project object */ = { 164 | isa = PBXProject; 165 | attributes = { 166 | CLASSPREFIX = LDO; 167 | LastUpgradeCheck = 0700; 168 | ORGANIZATIONNAME = "Julian Raschke und Sebastian Ludwig GbR"; 169 | }; 170 | buildConfigurationList = 6003F585195388D10070C39A /* Build configuration list for PBXProject "LDONavigationSubtitleView" */; 171 | compatibilityVersion = "Xcode 3.2"; 172 | developmentRegion = English; 173 | hasScannedForEncodings = 0; 174 | knownRegions = ( 175 | en, 176 | Base, 177 | ); 178 | mainGroup = 6003F581195388D10070C39A; 179 | productRefGroup = 6003F58B195388D20070C39A /* Products */; 180 | projectDirPath = ""; 181 | projectRoot = ""; 182 | targets = ( 183 | 6003F589195388D20070C39A /* LDONavigationSubtitleView_Example */, 184 | ); 185 | }; 186 | /* End PBXProject section */ 187 | 188 | /* Begin PBXResourcesBuildPhase section */ 189 | 6003F588195388D20070C39A /* Resources */ = { 190 | isa = PBXResourcesBuildPhase; 191 | buildActionMask = 2147483647; 192 | files = ( 193 | 873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */, 194 | 9E3EC9D01CEC572D00F9C584 /* LaunchScreen.storyboard in Resources */, 195 | 6003F5A9195388D20070C39A /* Images.xcassets in Resources */, 196 | 6003F598195388D20070C39A /* InfoPlist.strings in Resources */, 197 | ); 198 | runOnlyForDeploymentPostprocessing = 0; 199 | }; 200 | /* End PBXResourcesBuildPhase section */ 201 | 202 | /* Begin PBXShellScriptBuildPhase section */ 203 | A97E31790041119465F0CC15 /* Copy Pods Resources */ = { 204 | isa = PBXShellScriptBuildPhase; 205 | buildActionMask = 2147483647; 206 | files = ( 207 | ); 208 | inputPaths = ( 209 | ); 210 | name = "Copy Pods Resources"; 211 | outputPaths = ( 212 | ); 213 | runOnlyForDeploymentPostprocessing = 0; 214 | shellPath = /bin/sh; 215 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LDONavigationSubtitleView_Example/Pods-LDONavigationSubtitleView_Example-resources.sh\"\n"; 216 | showEnvVarsInLog = 0; 217 | }; 218 | B73F76C71F4F45BC184C5B8E /* Check Pods Manifest.lock */ = { 219 | isa = PBXShellScriptBuildPhase; 220 | buildActionMask = 2147483647; 221 | files = ( 222 | ); 223 | inputPaths = ( 224 | ); 225 | name = "Check Pods Manifest.lock"; 226 | outputPaths = ( 227 | ); 228 | runOnlyForDeploymentPostprocessing = 0; 229 | shellPath = /bin/sh; 230 | shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; 231 | showEnvVarsInLog = 0; 232 | }; 233 | /* End PBXShellScriptBuildPhase section */ 234 | 235 | /* Begin PBXSourcesBuildPhase section */ 236 | 6003F586195388D20070C39A /* Sources */ = { 237 | isa = PBXSourcesBuildPhase; 238 | buildActionMask = 2147483647; 239 | files = ( 240 | 6003F59E195388D20070C39A /* AppDelegate.m in Sources */, 241 | 9EF2C6521B53F1AE000D2155 /* ViewController.m in Sources */, 242 | 6003F59A195388D20070C39A /* main.m in Sources */, 243 | ); 244 | runOnlyForDeploymentPostprocessing = 0; 245 | }; 246 | /* End PBXSourcesBuildPhase section */ 247 | 248 | /* Begin PBXVariantGroup section */ 249 | 6003F596195388D20070C39A /* InfoPlist.strings */ = { 250 | isa = PBXVariantGroup; 251 | children = ( 252 | 6003F597195388D20070C39A /* en */, 253 | ); 254 | name = InfoPlist.strings; 255 | sourceTree = ""; 256 | }; 257 | /* End PBXVariantGroup section */ 258 | 259 | /* Begin XCBuildConfiguration section */ 260 | 6003F5BD195388D20070C39A /* Debug */ = { 261 | isa = XCBuildConfiguration; 262 | buildSettings = { 263 | ALWAYS_SEARCH_USER_PATHS = NO; 264 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 265 | CLANG_CXX_LIBRARY = "libc++"; 266 | CLANG_ENABLE_MODULES = YES; 267 | CLANG_ENABLE_OBJC_ARC = YES; 268 | CLANG_WARN_BOOL_CONVERSION = YES; 269 | CLANG_WARN_CONSTANT_CONVERSION = YES; 270 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 271 | CLANG_WARN_EMPTY_BODY = YES; 272 | CLANG_WARN_ENUM_CONVERSION = YES; 273 | CLANG_WARN_INT_CONVERSION = YES; 274 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 275 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 276 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 277 | COPY_PHASE_STRIP = NO; 278 | ENABLE_TESTABILITY = YES; 279 | GCC_C_LANGUAGE_STANDARD = gnu99; 280 | GCC_DYNAMIC_NO_PIC = NO; 281 | GCC_OPTIMIZATION_LEVEL = 0; 282 | GCC_PREPROCESSOR_DEFINITIONS = ( 283 | "DEBUG=1", 284 | "$(inherited)", 285 | ); 286 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 287 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 288 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 289 | GCC_WARN_UNDECLARED_SELECTOR = YES; 290 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 291 | GCC_WARN_UNUSED_FUNCTION = YES; 292 | GCC_WARN_UNUSED_VARIABLE = YES; 293 | IPHONEOS_DEPLOYMENT_TARGET = 7.1; 294 | ONLY_ACTIVE_ARCH = YES; 295 | SDKROOT = iphoneos; 296 | TARGETED_DEVICE_FAMILY = "1,2"; 297 | }; 298 | name = Debug; 299 | }; 300 | 6003F5BE195388D20070C39A /* Release */ = { 301 | isa = XCBuildConfiguration; 302 | buildSettings = { 303 | ALWAYS_SEARCH_USER_PATHS = NO; 304 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 305 | CLANG_CXX_LIBRARY = "libc++"; 306 | CLANG_ENABLE_MODULES = YES; 307 | CLANG_ENABLE_OBJC_ARC = YES; 308 | CLANG_WARN_BOOL_CONVERSION = YES; 309 | CLANG_WARN_CONSTANT_CONVERSION = YES; 310 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 311 | CLANG_WARN_EMPTY_BODY = YES; 312 | CLANG_WARN_ENUM_CONVERSION = YES; 313 | CLANG_WARN_INT_CONVERSION = YES; 314 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 315 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 316 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 317 | COPY_PHASE_STRIP = YES; 318 | ENABLE_NS_ASSERTIONS = NO; 319 | GCC_C_LANGUAGE_STANDARD = gnu99; 320 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 321 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 322 | GCC_WARN_UNDECLARED_SELECTOR = YES; 323 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 324 | GCC_WARN_UNUSED_FUNCTION = YES; 325 | GCC_WARN_UNUSED_VARIABLE = YES; 326 | IPHONEOS_DEPLOYMENT_TARGET = 7.1; 327 | SDKROOT = iphoneos; 328 | TARGETED_DEVICE_FAMILY = "1,2"; 329 | VALIDATE_PRODUCT = YES; 330 | }; 331 | name = Release; 332 | }; 333 | 6003F5C0195388D20070C39A /* Debug */ = { 334 | isa = XCBuildConfiguration; 335 | baseConfigurationReference = E43ABDC4623DEFF533113CC9 /* Pods-LDONavigationSubtitleView_Example.debug.xcconfig */; 336 | buildSettings = { 337 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 338 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 339 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 340 | GCC_PREFIX_HEADER = "LDONavigationSubtitleView/LDONavigationSubtitleView-Prefix.pch"; 341 | INFOPLIST_FILE = "LDONavigationSubtitleView/LDONavigationSubtitleView-Info.plist"; 342 | MODULE_NAME = ExampleApp; 343 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; 344 | PRODUCT_NAME = LDONavigationSubtitleView_Example; 345 | WRAPPER_EXTENSION = app; 346 | }; 347 | name = Debug; 348 | }; 349 | 6003F5C1195388D20070C39A /* Release */ = { 350 | isa = XCBuildConfiguration; 351 | baseConfigurationReference = 2DC7F4180863005336F63523 /* Pods-LDONavigationSubtitleView_Example.release.xcconfig */; 352 | buildSettings = { 353 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 354 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 355 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 356 | GCC_PREFIX_HEADER = "LDONavigationSubtitleView/LDONavigationSubtitleView-Prefix.pch"; 357 | INFOPLIST_FILE = "LDONavigationSubtitleView/LDONavigationSubtitleView-Info.plist"; 358 | MODULE_NAME = ExampleApp; 359 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; 360 | PRODUCT_NAME = LDONavigationSubtitleView_Example; 361 | WRAPPER_EXTENSION = app; 362 | }; 363 | name = Release; 364 | }; 365 | /* End XCBuildConfiguration section */ 366 | 367 | /* Begin XCConfigurationList section */ 368 | 6003F585195388D10070C39A /* Build configuration list for PBXProject "LDONavigationSubtitleView" */ = { 369 | isa = XCConfigurationList; 370 | buildConfigurations = ( 371 | 6003F5BD195388D20070C39A /* Debug */, 372 | 6003F5BE195388D20070C39A /* Release */, 373 | ); 374 | defaultConfigurationIsVisible = 0; 375 | defaultConfigurationName = Release; 376 | }; 377 | 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "LDONavigationSubtitleView_Example" */ = { 378 | isa = XCConfigurationList; 379 | buildConfigurations = ( 380 | 6003F5C0195388D20070C39A /* Debug */, 381 | 6003F5C1195388D20070C39A /* Release */, 382 | ); 383 | defaultConfigurationIsVisible = 0; 384 | defaultConfigurationName = Release; 385 | }; 386 | /* End XCConfigurationList section */ 387 | }; 388 | rootObject = 6003F582195388D10070C39A /* Project object */; 389 | } 390 | -------------------------------------------------------------------------------- /Example/LDONavigationSubtitleView.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Example/LDONavigationSubtitleView.xcodeproj/xcshareddata/xcschemes/Example.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 54 | 56 | 62 | 63 | 64 | 65 | 66 | 67 | 73 | 75 | 81 | 82 | 83 | 84 | 86 | 87 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /Example/LDONavigationSubtitleView.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Example/LDONavigationSubtitleView/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // LDOAppDelegate.h 3 | // LDONavigationSubtitleView 4 | // 5 | // Created by Sebastian Ludwig on 07/13/2015. 6 | // Copyright (c) 2015 Julian Raschke und Sebastian Ludwig GbR. All rights reserved. 7 | // 8 | 9 | @import UIKit; 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Example/LDONavigationSubtitleView/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // LDOAppDelegate.m 3 | // LDONavigationSubtitleView 4 | // 5 | // Created by Sebastian Ludwig on 07/13/2015. 6 | // Copyright (c) 2015 Julian Raschke und Sebastian Ludwig GbR. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @implementation AppDelegate 12 | 13 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 14 | { 15 | return YES; 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Example/LDONavigationSubtitleView/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "40x40", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "60x60", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "ipad", 20 | "size" : "29x29", 21 | "scale" : "1x" 22 | }, 23 | { 24 | "idiom" : "ipad", 25 | "size" : "29x29", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "ipad", 30 | "size" : "40x40", 31 | "scale" : "1x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "40x40", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "76x76", 41 | "scale" : "1x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "76x76", 46 | "scale" : "2x" 47 | } 48 | ], 49 | "info" : { 50 | "version" : 1, 51 | "author" : "xcode" 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /Example/LDONavigationSubtitleView/Images.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "orientation" : "portrait", 5 | "idiom" : "iphone", 6 | "extent" : "full-screen", 7 | "minimum-system-version" : "7.0", 8 | "scale" : "2x" 9 | }, 10 | { 11 | "orientation" : "portrait", 12 | "idiom" : "iphone", 13 | "subtype" : "retina4", 14 | "extent" : "full-screen", 15 | "minimum-system-version" : "7.0", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "orientation" : "portrait", 20 | "idiom" : "ipad", 21 | "extent" : "full-screen", 22 | "minimum-system-version" : "7.0", 23 | "scale" : "1x" 24 | }, 25 | { 26 | "orientation" : "landscape", 27 | "idiom" : "ipad", 28 | "extent" : "full-screen", 29 | "minimum-system-version" : "7.0", 30 | "scale" : "1x" 31 | }, 32 | { 33 | "orientation" : "portrait", 34 | "idiom" : "ipad", 35 | "extent" : "full-screen", 36 | "minimum-system-version" : "7.0", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "orientation" : "landscape", 41 | "idiom" : "ipad", 42 | "extent" : "full-screen", 43 | "minimum-system-version" : "7.0", 44 | "scale" : "2x" 45 | } 46 | ], 47 | "info" : { 48 | "version" : 1, 49 | "author" : "xcode" 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Example/LDONavigationSubtitleView/LDONavigationSubtitleView-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 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 | UILaunchStoryboardName 28 | LaunchScreen 29 | UIMainStoryboardFile 30 | Main 31 | UIRequiredDeviceCapabilities 32 | 33 | armv7 34 | 35 | UISupportedInterfaceOrientations 36 | 37 | UIInterfaceOrientationPortrait 38 | UIInterfaceOrientationLandscapeLeft 39 | UIInterfaceOrientationLandscapeRight 40 | 41 | UISupportedInterfaceOrientations~ipad 42 | 43 | UIInterfaceOrientationPortrait 44 | UIInterfaceOrientationPortraitUpsideDown 45 | UIInterfaceOrientationLandscapeLeft 46 | UIInterfaceOrientationLandscapeRight 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /Example/LDONavigationSubtitleView/LDONavigationSubtitleView-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #import 8 | 9 | #ifndef __IPHONE_5_0 10 | #warning "This project uses features only available in iOS SDK 5.0 and later." 11 | #endif 12 | 13 | #ifdef __OBJC__ 14 | @import UIKit; 15 | @import Foundation; 16 | #endif 17 | -------------------------------------------------------------------------------- /Example/LDONavigationSubtitleView/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /Example/LDONavigationSubtitleView/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | -------------------------------------------------------------------------------- /Example/LDONavigationSubtitleView/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // LDOViewController.h 3 | // LDONavigationSubtitleView 4 | // 5 | // Created by Sebastian Ludwig on 10.07.15. 6 | // Copyright (c) 2015 Julian Raschke und Sebastian Ludwig GbR. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Example/LDONavigationSubtitleView/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // LDOViewController.m 3 | // LDONavigationSubtitleView 4 | // 5 | // Created by Sebastian Ludwig on 10.07.15. 6 | // Copyright (c) 2015 Julian Raschke und Sebastian Ludwig GbR. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | #import 12 | 13 | @interface ViewController () 14 | 15 | @end 16 | 17 | @implementation ViewController 18 | { 19 | IBOutlet LDONavigationSubtitleView *navigationView; 20 | IBOutlet UITextField *titleText; 21 | IBOutlet UITextField *subtitleText; 22 | IBOutlet UITextField *leftBarButtonText; 23 | IBOutlet UITextField *rightBarButtonText; 24 | 25 | IBOutlet UISwitch *showSubtitle; 26 | } 27 | 28 | - (void)viewDidLoad { 29 | [super viewDidLoad]; 30 | 31 | self.title = titleText.text; 32 | navigationView.animateChanges = YES; 33 | } 34 | 35 | - (IBAction)updateTitleView 36 | { 37 | self.title = titleText.text; 38 | if (![subtitleText.text isEqualToString:@""] && showSubtitle.on) { 39 | navigationView.subtitle = subtitleText.text; 40 | } else { 41 | navigationView.subtitle = nil; 42 | } 43 | } 44 | 45 | - (IBAction)toggleTitleView:(UISegmentedControl *)sender 46 | { 47 | [self updateTitleView]; 48 | 49 | if (sender.selectedSegmentIndex == 0) { 50 | self.navigationItem.titleView = nil; 51 | } else { 52 | self.navigationItem.titleView = navigationView; 53 | } 54 | } 55 | 56 | - (IBAction)toggleSubtitle:(UISwitch *)sender 57 | { 58 | [self updateTitleView]; 59 | } 60 | 61 | - (IBAction)toggleAnimations:(UISwitch *)sender 62 | { 63 | navigationView.animateChanges = sender.on; 64 | } 65 | 66 | - (IBAction)barButtonTextDidChange:(UITextField *)sender 67 | { 68 | if (sender == leftBarButtonText) { 69 | if (self.navigationItem.leftBarButtonItem) { 70 | self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:leftBarButtonText.text style:UIBarButtonItemStylePlain target:nil action:nil]; 71 | } 72 | } else { 73 | if (self.navigationItem.rightBarButtonItem) { 74 | self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:rightBarButtonText.text style:UIBarButtonItemStylePlain target:nil action:nil]; 75 | } 76 | } 77 | } 78 | 79 | - (IBAction)toggleBarButtonItem:(UIButton *)sender 80 | { 81 | if (sender.tag == 0) { 82 | if (self.navigationItem.leftBarButtonItem) { 83 | self.navigationItem.leftBarButtonItem = nil; 84 | [sender setTitle:@"Show" forState:UIControlStateNormal]; 85 | } else { 86 | self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:leftBarButtonText.text style:UIBarButtonItemStylePlain target:nil action:nil]; 87 | [sender setTitle:@"Hide" forState:UIControlStateNormal]; 88 | } 89 | } else { 90 | if (self.navigationItem.rightBarButtonItem) { 91 | self.navigationItem.rightBarButtonItem = nil; 92 | [sender setTitle:@"Show" forState:UIControlStateNormal]; 93 | } else { 94 | UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithTitle:rightBarButtonText.text style:UIBarButtonItemStylePlain target:nil action:nil]; 95 | [self.navigationItem setRightBarButtonItem:item animated:YES]; 96 | [navigationView setNeedsLayout]; 97 | [sender setTitle:@"Hide" forState:UIControlStateNormal]; 98 | } 99 | } 100 | } 101 | 102 | #pragma mark - UITextFieldDelegate 103 | 104 | - (BOOL)textFieldShouldReturn:(UITextField *)textField 105 | { 106 | [self updateTitleView]; 107 | [textField resignFirstResponder]; 108 | return YES; 109 | } 110 | 111 | @end 112 | -------------------------------------------------------------------------------- /Example/LDONavigationSubtitleView/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Example/LDONavigationSubtitleView/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LDONavigationSubtitleView 4 | // 5 | // Created by Sebastian Ludwig on 07/13/2015. 6 | // Copyright (c) 2015 Julian Raschke und Sebastian Ludwig GbR. All rights reserved. 7 | // 8 | 9 | @import UIKit; 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) 13 | { 14 | @autoreleasepool { 15 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Example/Podfile: -------------------------------------------------------------------------------- 1 | source 'https://github.com/CocoaPods/Specs.git' 2 | 3 | target 'LDONavigationSubtitleView_Example', :exclusive => true do 4 | pod "LDONavigationSubtitleView", :path => "../" 5 | end 6 | -------------------------------------------------------------------------------- /Example/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - LDONavigationSubtitleView (1.1.2) 3 | 4 | DEPENDENCIES: 5 | - LDONavigationSubtitleView (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | LDONavigationSubtitleView: 9 | :path: "../" 10 | 11 | SPEC CHECKSUMS: 12 | LDONavigationSubtitleView: 17685b3748e7fbda8439e6e64863f5038eb39552 13 | 14 | COCOAPODS: 0.38.2 15 | -------------------------------------------------------------------------------- /Example/Pods/Headers/Private/LDONavigationSubtitleView/LDONavigationSubtitleView.h: -------------------------------------------------------------------------------- 1 | ../../../../../Pod/Classes/LDONavigationSubtitleView.h -------------------------------------------------------------------------------- /Example/Pods/Headers/Public/LDONavigationSubtitleView/LDONavigationSubtitleView.h: -------------------------------------------------------------------------------- 1 | ../../../../../Pod/Classes/LDONavigationSubtitleView.h -------------------------------------------------------------------------------- /Example/Pods/Local Podspecs/LDONavigationSubtitleView.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "LDONavigationSubtitleView", 3 | "version": "1.1.2", 4 | "summary": "UINavigationItem title view with subtitle and nice animations.", 5 | "description": "LDONavigationSubtitleView is a drop in replacement for the default\nnavigation item title that is displayed in a UINavigationBar. If you\nonly set a title, it looks just like the default. However, it supports\nan optional subtitle to be displayed unterneath the title.\n\n* Changes to title or subtitle can be animated (optional)\n* Supports Interface Builder customization\n* Looks good in Landscape & Portrait\n* Universal for iPhone and iPad", 6 | "homepage": "https://github.com/lurado/LDONavigationSubtitleView", 7 | "license": "MIT", 8 | "authors": { 9 | "Julian Raschke und Sebastian Ludwig GbR": "info@lurado.com" 10 | }, 11 | "source": { 12 | "git": "https://github.com/lurado/LDONavigationSubtitleView.git", 13 | "tag": "1.1.2" 14 | }, 15 | "platforms": { 16 | "ios": "7.0" 17 | }, 18 | "requires_arc": true, 19 | "source_files": "Pod/Classes/**/*", 20 | "resource_bundles": { 21 | "LDONavigationSubtitleView": [ 22 | "Pod/Assets/*.png" 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Example/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - LDONavigationSubtitleView (1.1.2) 3 | 4 | DEPENDENCIES: 5 | - LDONavigationSubtitleView (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | LDONavigationSubtitleView: 9 | :path: "../" 10 | 11 | SPEC CHECKSUMS: 12 | LDONavigationSubtitleView: 17685b3748e7fbda8439e6e64863f5038eb39552 13 | 14 | COCOAPODS: 0.38.2 15 | -------------------------------------------------------------------------------- /Example/Pods/Pods.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 073D20617D5B450E74EB0BDA7230425A /* LDONavigationSubtitleView.m in Sources */ = {isa = PBXBuildFile; fileRef = E41CA025C4EDCF0A2EF6A239A0673ED2 /* LDONavigationSubtitleView.m */; }; 11 | 21F3A0F04706F91323BDE5BA5941C346 /* LDONavigationSubtitleView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3538BC13CA7A1D0139A966D143B5C032 /* LDONavigationSubtitleView-dummy.m */; }; 12 | 87B5ED80A219B95E6E7FD14232B941FC /* Pods-LDONavigationSubtitleView_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 69E0EB6305A5867BE2B165E8B4948840 /* Pods-LDONavigationSubtitleView_Example-dummy.m */; }; 13 | 90616B122AAAF0DF734C60515FF81ACA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B617DD5E7924C4DE817F98A72E77903 /* Foundation.framework */; }; 14 | 96F36DDA655BE51B2926DBAFD01C0516 /* LDONavigationSubtitleView.h in Headers */ = {isa = PBXBuildFile; fileRef = DB90FF314759D4F0FB8D7C7967F8499D /* LDONavigationSubtitleView.h */; }; 15 | D670A83638458076131619DA39BBC566 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B617DD5E7924C4DE817F98A72E77903 /* Foundation.framework */; }; 16 | /* End PBXBuildFile section */ 17 | 18 | /* Begin PBXContainerItemProxy section */ 19 | 75699E32881F30663D7F7F9F283C51BD /* PBXContainerItemProxy */ = { 20 | isa = PBXContainerItemProxy; 21 | containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 22 | proxyType = 1; 23 | remoteGlobalIDString = 630EEF9442F82C7F407CA6EEFC13488B; 24 | remoteInfo = "LDONavigationSubtitleView-LDONavigationSubtitleView"; 25 | }; 26 | 90A0E06ABC3E2552030C642C62CB6F81 /* PBXContainerItemProxy */ = { 27 | isa = PBXContainerItemProxy; 28 | containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 29 | proxyType = 1; 30 | remoteGlobalIDString = 1F26B2D380AE24086E4D5D6FB5A4BDAA; 31 | remoteInfo = LDONavigationSubtitleView; 32 | }; 33 | /* End PBXContainerItemProxy section */ 34 | 35 | /* Begin PBXFileReference section */ 36 | 11DD9CB9F7247ED904A19DA8ECD7AD91 /* Pods-LDONavigationSubtitleView_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LDONavigationSubtitleView_Example.release.xcconfig"; sourceTree = ""; }; 37 | 1337B56A53AF9BC3927A2364323B3796 /* Pods-LDONavigationSubtitleView_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-LDONavigationSubtitleView_Example-acknowledgements.markdown"; sourceTree = ""; }; 38 | 25D401459700C45EF857291A006FB571 /* LDONavigationSubtitleView.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LDONavigationSubtitleView.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; 39 | 3538BC13CA7A1D0139A966D143B5C032 /* LDONavigationSubtitleView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "LDONavigationSubtitleView-dummy.m"; sourceTree = ""; }; 40 | 4801FF39FB006973F9A891DDFF48DD1A /* libLDONavigationSubtitleView.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libLDONavigationSubtitleView.a; sourceTree = BUILT_PRODUCTS_DIR; }; 41 | 5B617DD5E7924C4DE817F98A72E77903 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 42 | 69E0EB6305A5867BE2B165E8B4948840 /* Pods-LDONavigationSubtitleView_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-LDONavigationSubtitleView_Example-dummy.m"; sourceTree = ""; }; 43 | 729769D2152F99D2782865E60341D9F0 /* Pods-LDONavigationSubtitleView_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LDONavigationSubtitleView_Example.debug.xcconfig"; sourceTree = ""; }; 44 | 7E8733C925075D706AB943D65BAD77A8 /* libPods-LDONavigationSubtitleView_Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-LDONavigationSubtitleView_Example.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 45 | 909B0261841DEB410835BFEF6EC1BF95 /* LDONavigationSubtitleView-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "LDONavigationSubtitleView-Private.xcconfig"; sourceTree = ""; }; 46 | B869A3EBBA888B715CABD3A2181978B5 /* LDONavigationSubtitleView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = LDONavigationSubtitleView.xcconfig; sourceTree = ""; }; 47 | BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 48 | DB90FF314759D4F0FB8D7C7967F8499D /* LDONavigationSubtitleView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LDONavigationSubtitleView.h; sourceTree = ""; }; 49 | E41CA025C4EDCF0A2EF6A239A0673ED2 /* LDONavigationSubtitleView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LDONavigationSubtitleView.m; sourceTree = ""; }; 50 | EF322C325813372F8B031B91F532EAF4 /* Pods-LDONavigationSubtitleView_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-LDONavigationSubtitleView_Example-acknowledgements.plist"; sourceTree = ""; }; 51 | F2968BC0BDC1AE08FD6D396F807BAE6E /* LDONavigationSubtitleView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LDONavigationSubtitleView-prefix.pch"; sourceTree = ""; }; 52 | FD241913BD8D9C985DA4A8F618ECC307 /* Pods-LDONavigationSubtitleView_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-LDONavigationSubtitleView_Example-resources.sh"; sourceTree = ""; }; 53 | /* End PBXFileReference section */ 54 | 55 | /* Begin PBXFrameworksBuildPhase section */ 56 | 23148BC1ABF3ADFCCFD062CFF957472E /* Frameworks */ = { 57 | isa = PBXFrameworksBuildPhase; 58 | buildActionMask = 2147483647; 59 | files = ( 60 | 90616B122AAAF0DF734C60515FF81ACA /* Foundation.framework in Frameworks */, 61 | ); 62 | runOnlyForDeploymentPostprocessing = 0; 63 | }; 64 | 3FA615B6D5AD3783281AFEE07514149B /* Frameworks */ = { 65 | isa = PBXFrameworksBuildPhase; 66 | buildActionMask = 2147483647; 67 | files = ( 68 | D670A83638458076131619DA39BBC566 /* Foundation.framework in Frameworks */, 69 | ); 70 | runOnlyForDeploymentPostprocessing = 0; 71 | }; 72 | F327BC70B3198BC35B9A75E93A6213F9 /* Frameworks */ = { 73 | isa = PBXFrameworksBuildPhase; 74 | buildActionMask = 2147483647; 75 | files = ( 76 | ); 77 | runOnlyForDeploymentPostprocessing = 0; 78 | }; 79 | /* End PBXFrameworksBuildPhase section */ 80 | 81 | /* Begin PBXGroup section */ 82 | 0656F419294F3C53A675A1D78C5DEFED /* Targets Support Files */ = { 83 | isa = PBXGroup; 84 | children = ( 85 | 3E29BCD5DF3C6A94B549C000D3CA3676 /* Pods-LDONavigationSubtitleView_Example */, 86 | ); 87 | name = "Targets Support Files"; 88 | sourceTree = ""; 89 | }; 90 | 3E29BCD5DF3C6A94B549C000D3CA3676 /* Pods-LDONavigationSubtitleView_Example */ = { 91 | isa = PBXGroup; 92 | children = ( 93 | 1337B56A53AF9BC3927A2364323B3796 /* Pods-LDONavigationSubtitleView_Example-acknowledgements.markdown */, 94 | EF322C325813372F8B031B91F532EAF4 /* Pods-LDONavigationSubtitleView_Example-acknowledgements.plist */, 95 | 69E0EB6305A5867BE2B165E8B4948840 /* Pods-LDONavigationSubtitleView_Example-dummy.m */, 96 | FD241913BD8D9C985DA4A8F618ECC307 /* Pods-LDONavigationSubtitleView_Example-resources.sh */, 97 | 729769D2152F99D2782865E60341D9F0 /* Pods-LDONavigationSubtitleView_Example.debug.xcconfig */, 98 | 11DD9CB9F7247ED904A19DA8ECD7AD91 /* Pods-LDONavigationSubtitleView_Example.release.xcconfig */, 99 | ); 100 | name = "Pods-LDONavigationSubtitleView_Example"; 101 | path = "Target Support Files/Pods-LDONavigationSubtitleView_Example"; 102 | sourceTree = ""; 103 | }; 104 | 53F661C0CA7190D2CF05023FB33D61E4 /* iOS */ = { 105 | isa = PBXGroup; 106 | children = ( 107 | 5B617DD5E7924C4DE817F98A72E77903 /* Foundation.framework */, 108 | ); 109 | name = iOS; 110 | sourceTree = ""; 111 | }; 112 | 58D1DB3AAEB2B070D8F5B9F870B15E93 /* Pod */ = { 113 | isa = PBXGroup; 114 | children = ( 115 | 772A5011F7F4DD0C97610FEB76D37FDD /* Classes */, 116 | ); 117 | path = Pod; 118 | sourceTree = ""; 119 | }; 120 | 67C889B88EF97AA86C96B2779D914B42 /* Development Pods */ = { 121 | isa = PBXGroup; 122 | children = ( 123 | CF388694730A7AE40A12685A7A8EB44C /* LDONavigationSubtitleView */, 124 | ); 125 | name = "Development Pods"; 126 | sourceTree = ""; 127 | }; 128 | 6D9EC283498FE9BA140F125BB3E733C4 /* Support Files */ = { 129 | isa = PBXGroup; 130 | children = ( 131 | B869A3EBBA888B715CABD3A2181978B5 /* LDONavigationSubtitleView.xcconfig */, 132 | 909B0261841DEB410835BFEF6EC1BF95 /* LDONavigationSubtitleView-Private.xcconfig */, 133 | 3538BC13CA7A1D0139A966D143B5C032 /* LDONavigationSubtitleView-dummy.m */, 134 | F2968BC0BDC1AE08FD6D396F807BAE6E /* LDONavigationSubtitleView-prefix.pch */, 135 | ); 136 | name = "Support Files"; 137 | path = "Example/Pods/Target Support Files/LDONavigationSubtitleView"; 138 | sourceTree = ""; 139 | }; 140 | 772A5011F7F4DD0C97610FEB76D37FDD /* Classes */ = { 141 | isa = PBXGroup; 142 | children = ( 143 | DB90FF314759D4F0FB8D7C7967F8499D /* LDONavigationSubtitleView.h */, 144 | E41CA025C4EDCF0A2EF6A239A0673ED2 /* LDONavigationSubtitleView.m */, 145 | ); 146 | path = Classes; 147 | sourceTree = ""; 148 | }; 149 | 7DB346D0F39D3F0E887471402A8071AB = { 150 | isa = PBXGroup; 151 | children = ( 152 | BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */, 153 | 67C889B88EF97AA86C96B2779D914B42 /* Development Pods */, 154 | BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */, 155 | CCA510CFBEA2D207524CDA0D73C3B561 /* Products */, 156 | 0656F419294F3C53A675A1D78C5DEFED /* Targets Support Files */, 157 | ); 158 | sourceTree = ""; 159 | }; 160 | BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = { 161 | isa = PBXGroup; 162 | children = ( 163 | 53F661C0CA7190D2CF05023FB33D61E4 /* iOS */, 164 | ); 165 | name = Frameworks; 166 | sourceTree = ""; 167 | }; 168 | CCA510CFBEA2D207524CDA0D73C3B561 /* Products */ = { 169 | isa = PBXGroup; 170 | children = ( 171 | 25D401459700C45EF857291A006FB571 /* LDONavigationSubtitleView.bundle */, 172 | 4801FF39FB006973F9A891DDFF48DD1A /* libLDONavigationSubtitleView.a */, 173 | 7E8733C925075D706AB943D65BAD77A8 /* libPods-LDONavigationSubtitleView_Example.a */, 174 | ); 175 | name = Products; 176 | sourceTree = ""; 177 | }; 178 | CF388694730A7AE40A12685A7A8EB44C /* LDONavigationSubtitleView */ = { 179 | isa = PBXGroup; 180 | children = ( 181 | 58D1DB3AAEB2B070D8F5B9F870B15E93 /* Pod */, 182 | 6D9EC283498FE9BA140F125BB3E733C4 /* Support Files */, 183 | ); 184 | name = LDONavigationSubtitleView; 185 | path = ../..; 186 | sourceTree = ""; 187 | }; 188 | /* End PBXGroup section */ 189 | 190 | /* Begin PBXHeadersBuildPhase section */ 191 | 122CDBE4477419C9CC30CBBDF20B2E35 /* Headers */ = { 192 | isa = PBXHeadersBuildPhase; 193 | buildActionMask = 2147483647; 194 | files = ( 195 | 96F36DDA655BE51B2926DBAFD01C0516 /* LDONavigationSubtitleView.h in Headers */, 196 | ); 197 | runOnlyForDeploymentPostprocessing = 0; 198 | }; 199 | /* End PBXHeadersBuildPhase section */ 200 | 201 | /* Begin PBXNativeTarget section */ 202 | 1F26B2D380AE24086E4D5D6FB5A4BDAA /* LDONavigationSubtitleView */ = { 203 | isa = PBXNativeTarget; 204 | buildConfigurationList = 95C38E031E257B86B2534EE71A6978DD /* Build configuration list for PBXNativeTarget "LDONavigationSubtitleView" */; 205 | buildPhases = ( 206 | CA6C0C3085F98A8ADCB50B371E85049B /* Sources */, 207 | 3FA615B6D5AD3783281AFEE07514149B /* Frameworks */, 208 | 122CDBE4477419C9CC30CBBDF20B2E35 /* Headers */, 209 | ); 210 | buildRules = ( 211 | ); 212 | dependencies = ( 213 | 7C1C42B2D11A44787A9B9A54158045A2 /* PBXTargetDependency */, 214 | ); 215 | name = LDONavigationSubtitleView; 216 | productName = LDONavigationSubtitleView; 217 | productReference = 4801FF39FB006973F9A891DDFF48DD1A /* libLDONavigationSubtitleView.a */; 218 | productType = "com.apple.product-type.library.static"; 219 | }; 220 | 6206B0A63EDBBF6C3ED18481B49BD260 /* Pods-LDONavigationSubtitleView_Example */ = { 221 | isa = PBXNativeTarget; 222 | buildConfigurationList = 4D04B2F564F30B76AEA615C5DD5F1D1D /* Build configuration list for PBXNativeTarget "Pods-LDONavigationSubtitleView_Example" */; 223 | buildPhases = ( 224 | 5F7A1A4C94B5976616E844A9F86B0EDC /* Sources */, 225 | 23148BC1ABF3ADFCCFD062CFF957472E /* Frameworks */, 226 | ); 227 | buildRules = ( 228 | ); 229 | dependencies = ( 230 | ED12954E3F43CDC1382E2DC259094C4F /* PBXTargetDependency */, 231 | ); 232 | name = "Pods-LDONavigationSubtitleView_Example"; 233 | productName = "Pods-LDONavigationSubtitleView_Example"; 234 | productReference = 7E8733C925075D706AB943D65BAD77A8 /* libPods-LDONavigationSubtitleView_Example.a */; 235 | productType = "com.apple.product-type.library.static"; 236 | }; 237 | 630EEF9442F82C7F407CA6EEFC13488B /* LDONavigationSubtitleView-LDONavigationSubtitleView */ = { 238 | isa = PBXNativeTarget; 239 | buildConfigurationList = B97EC782E390F92B119A00F46C5B6430 /* Build configuration list for PBXNativeTarget "LDONavigationSubtitleView-LDONavigationSubtitleView" */; 240 | buildPhases = ( 241 | 8F4C8210823D82176A39AE9924A179D7 /* Sources */, 242 | F327BC70B3198BC35B9A75E93A6213F9 /* Frameworks */, 243 | 0B7140500884BF0FE975FDD010C144E7 /* Resources */, 244 | ); 245 | buildRules = ( 246 | ); 247 | dependencies = ( 248 | ); 249 | name = "LDONavigationSubtitleView-LDONavigationSubtitleView"; 250 | productName = "LDONavigationSubtitleView-LDONavigationSubtitleView"; 251 | productReference = 25D401459700C45EF857291A006FB571 /* LDONavigationSubtitleView.bundle */; 252 | productType = "com.apple.product-type.bundle"; 253 | }; 254 | /* End PBXNativeTarget section */ 255 | 256 | /* Begin PBXProject section */ 257 | D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { 258 | isa = PBXProject; 259 | attributes = { 260 | LastSwiftUpdateCheck = 0700; 261 | LastUpgradeCheck = 0700; 262 | }; 263 | buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; 264 | compatibilityVersion = "Xcode 3.2"; 265 | developmentRegion = English; 266 | hasScannedForEncodings = 0; 267 | knownRegions = ( 268 | en, 269 | ); 270 | mainGroup = 7DB346D0F39D3F0E887471402A8071AB; 271 | productRefGroup = CCA510CFBEA2D207524CDA0D73C3B561 /* Products */; 272 | projectDirPath = ""; 273 | projectRoot = ""; 274 | targets = ( 275 | 1F26B2D380AE24086E4D5D6FB5A4BDAA /* LDONavigationSubtitleView */, 276 | 630EEF9442F82C7F407CA6EEFC13488B /* LDONavigationSubtitleView-LDONavigationSubtitleView */, 277 | 6206B0A63EDBBF6C3ED18481B49BD260 /* Pods-LDONavigationSubtitleView_Example */, 278 | ); 279 | }; 280 | /* End PBXProject section */ 281 | 282 | /* Begin PBXResourcesBuildPhase section */ 283 | 0B7140500884BF0FE975FDD010C144E7 /* Resources */ = { 284 | isa = PBXResourcesBuildPhase; 285 | buildActionMask = 2147483647; 286 | files = ( 287 | ); 288 | runOnlyForDeploymentPostprocessing = 0; 289 | }; 290 | /* End PBXResourcesBuildPhase section */ 291 | 292 | /* Begin PBXSourcesBuildPhase section */ 293 | 5F7A1A4C94B5976616E844A9F86B0EDC /* Sources */ = { 294 | isa = PBXSourcesBuildPhase; 295 | buildActionMask = 2147483647; 296 | files = ( 297 | 87B5ED80A219B95E6E7FD14232B941FC /* Pods-LDONavigationSubtitleView_Example-dummy.m in Sources */, 298 | ); 299 | runOnlyForDeploymentPostprocessing = 0; 300 | }; 301 | 8F4C8210823D82176A39AE9924A179D7 /* Sources */ = { 302 | isa = PBXSourcesBuildPhase; 303 | buildActionMask = 2147483647; 304 | files = ( 305 | ); 306 | runOnlyForDeploymentPostprocessing = 0; 307 | }; 308 | CA6C0C3085F98A8ADCB50B371E85049B /* Sources */ = { 309 | isa = PBXSourcesBuildPhase; 310 | buildActionMask = 2147483647; 311 | files = ( 312 | 21F3A0F04706F91323BDE5BA5941C346 /* LDONavigationSubtitleView-dummy.m in Sources */, 313 | 073D20617D5B450E74EB0BDA7230425A /* LDONavigationSubtitleView.m in Sources */, 314 | ); 315 | runOnlyForDeploymentPostprocessing = 0; 316 | }; 317 | /* End PBXSourcesBuildPhase section */ 318 | 319 | /* Begin PBXTargetDependency section */ 320 | 7C1C42B2D11A44787A9B9A54158045A2 /* PBXTargetDependency */ = { 321 | isa = PBXTargetDependency; 322 | name = "LDONavigationSubtitleView-LDONavigationSubtitleView"; 323 | target = 630EEF9442F82C7F407CA6EEFC13488B /* LDONavigationSubtitleView-LDONavigationSubtitleView */; 324 | targetProxy = 75699E32881F30663D7F7F9F283C51BD /* PBXContainerItemProxy */; 325 | }; 326 | ED12954E3F43CDC1382E2DC259094C4F /* PBXTargetDependency */ = { 327 | isa = PBXTargetDependency; 328 | name = LDONavigationSubtitleView; 329 | target = 1F26B2D380AE24086E4D5D6FB5A4BDAA /* LDONavigationSubtitleView */; 330 | targetProxy = 90A0E06ABC3E2552030C642C62CB6F81 /* PBXContainerItemProxy */; 331 | }; 332 | /* End PBXTargetDependency section */ 333 | 334 | /* Begin XCBuildConfiguration section */ 335 | 03CA91998D6773EC5D02B3DB87B8353E /* Release */ = { 336 | isa = XCBuildConfiguration; 337 | buildSettings = { 338 | ALWAYS_SEARCH_USER_PATHS = NO; 339 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 340 | CLANG_CXX_LIBRARY = "libc++"; 341 | CLANG_ENABLE_MODULES = YES; 342 | CLANG_ENABLE_OBJC_ARC = YES; 343 | CLANG_WARN_BOOL_CONVERSION = YES; 344 | CLANG_WARN_CONSTANT_CONVERSION = YES; 345 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; 346 | CLANG_WARN_EMPTY_BODY = YES; 347 | CLANG_WARN_ENUM_CONVERSION = YES; 348 | CLANG_WARN_INT_CONVERSION = YES; 349 | CLANG_WARN_OBJC_ROOT_CLASS = YES; 350 | CLANG_WARN_UNREACHABLE_CODE = YES; 351 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 352 | COPY_PHASE_STRIP = YES; 353 | ENABLE_NS_ASSERTIONS = NO; 354 | GCC_C_LANGUAGE_STANDARD = gnu99; 355 | GCC_PREPROCESSOR_DEFINITIONS = "RELEASE=1"; 356 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 357 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 358 | GCC_WARN_UNDECLARED_SELECTOR = YES; 359 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 360 | GCC_WARN_UNUSED_FUNCTION = YES; 361 | GCC_WARN_UNUSED_VARIABLE = YES; 362 | IPHONEOS_DEPLOYMENT_TARGET = 7.1; 363 | STRIP_INSTALLED_PRODUCT = NO; 364 | SYMROOT = "${SRCROOT}/../build"; 365 | VALIDATE_PRODUCT = YES; 366 | }; 367 | name = Release; 368 | }; 369 | 0B57334D6C23DADAA4F7D802A5760EB2 /* Debug */ = { 370 | isa = XCBuildConfiguration; 371 | buildSettings = { 372 | ALWAYS_SEARCH_USER_PATHS = NO; 373 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 374 | CLANG_CXX_LIBRARY = "libc++"; 375 | CLANG_ENABLE_MODULES = YES; 376 | CLANG_ENABLE_OBJC_ARC = YES; 377 | CLANG_WARN_BOOL_CONVERSION = YES; 378 | CLANG_WARN_CONSTANT_CONVERSION = YES; 379 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; 380 | CLANG_WARN_EMPTY_BODY = YES; 381 | CLANG_WARN_ENUM_CONVERSION = YES; 382 | CLANG_WARN_INT_CONVERSION = YES; 383 | CLANG_WARN_OBJC_ROOT_CLASS = YES; 384 | CLANG_WARN_UNREACHABLE_CODE = YES; 385 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 386 | COPY_PHASE_STRIP = NO; 387 | GCC_C_LANGUAGE_STANDARD = gnu99; 388 | GCC_DYNAMIC_NO_PIC = NO; 389 | GCC_OPTIMIZATION_LEVEL = 0; 390 | GCC_PREPROCESSOR_DEFINITIONS = ( 391 | "DEBUG=1", 392 | "$(inherited)", 393 | ); 394 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 395 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 396 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 397 | GCC_WARN_UNDECLARED_SELECTOR = YES; 398 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 399 | GCC_WARN_UNUSED_FUNCTION = YES; 400 | GCC_WARN_UNUSED_VARIABLE = YES; 401 | IPHONEOS_DEPLOYMENT_TARGET = 7.1; 402 | ONLY_ACTIVE_ARCH = YES; 403 | STRIP_INSTALLED_PRODUCT = NO; 404 | SYMROOT = "${SRCROOT}/../build"; 405 | }; 406 | name = Debug; 407 | }; 408 | 58C49720C0F4FB69D5848BD28B3ACAD0 /* Release */ = { 409 | isa = XCBuildConfiguration; 410 | baseConfigurationReference = 11DD9CB9F7247ED904A19DA8ECD7AD91 /* Pods-LDONavigationSubtitleView_Example.release.xcconfig */; 411 | buildSettings = { 412 | ENABLE_STRICT_OBJC_MSGSEND = YES; 413 | IPHONEOS_DEPLOYMENT_TARGET = 7.1; 414 | MTL_ENABLE_DEBUG_INFO = NO; 415 | OTHER_LDFLAGS = ""; 416 | OTHER_LIBTOOLFLAGS = ""; 417 | PODS_ROOT = "$(SRCROOT)"; 418 | PRODUCT_NAME = "$(TARGET_NAME)"; 419 | SDKROOT = iphoneos; 420 | SKIP_INSTALL = YES; 421 | }; 422 | name = Release; 423 | }; 424 | 7F8B4C6B9802FED1B017F3F9F3EC3F0D /* Release */ = { 425 | isa = XCBuildConfiguration; 426 | baseConfigurationReference = 909B0261841DEB410835BFEF6EC1BF95 /* LDONavigationSubtitleView-Private.xcconfig */; 427 | buildSettings = { 428 | ENABLE_STRICT_OBJC_MSGSEND = YES; 429 | PRODUCT_NAME = LDONavigationSubtitleView; 430 | SDKROOT = iphoneos; 431 | SKIP_INSTALL = YES; 432 | WRAPPER_EXTENSION = bundle; 433 | }; 434 | name = Release; 435 | }; 436 | B66361E5A60CA6540D784E3946790AE8 /* Release */ = { 437 | isa = XCBuildConfiguration; 438 | baseConfigurationReference = 909B0261841DEB410835BFEF6EC1BF95 /* LDONavigationSubtitleView-Private.xcconfig */; 439 | buildSettings = { 440 | ENABLE_STRICT_OBJC_MSGSEND = YES; 441 | GCC_PREFIX_HEADER = "Target Support Files/LDONavigationSubtitleView/LDONavigationSubtitleView-prefix.pch"; 442 | IPHONEOS_DEPLOYMENT_TARGET = 7.1; 443 | MTL_ENABLE_DEBUG_INFO = NO; 444 | OTHER_LDFLAGS = ""; 445 | OTHER_LIBTOOLFLAGS = ""; 446 | PRODUCT_NAME = "$(TARGET_NAME)"; 447 | SDKROOT = iphoneos; 448 | SKIP_INSTALL = YES; 449 | }; 450 | name = Release; 451 | }; 452 | BED7792CF66E96D47AFBC24AF77E3DF9 /* Debug */ = { 453 | isa = XCBuildConfiguration; 454 | baseConfigurationReference = 909B0261841DEB410835BFEF6EC1BF95 /* LDONavigationSubtitleView-Private.xcconfig */; 455 | buildSettings = { 456 | ENABLE_STRICT_OBJC_MSGSEND = YES; 457 | PRODUCT_NAME = LDONavigationSubtitleView; 458 | SDKROOT = iphoneos; 459 | SKIP_INSTALL = YES; 460 | WRAPPER_EXTENSION = bundle; 461 | }; 462 | name = Debug; 463 | }; 464 | DD6109D214AC278A4C53A4F2F4ADA2FF /* Debug */ = { 465 | isa = XCBuildConfiguration; 466 | baseConfigurationReference = 729769D2152F99D2782865E60341D9F0 /* Pods-LDONavigationSubtitleView_Example.debug.xcconfig */; 467 | buildSettings = { 468 | ENABLE_STRICT_OBJC_MSGSEND = YES; 469 | IPHONEOS_DEPLOYMENT_TARGET = 7.1; 470 | MTL_ENABLE_DEBUG_INFO = YES; 471 | OTHER_LDFLAGS = ""; 472 | OTHER_LIBTOOLFLAGS = ""; 473 | PODS_ROOT = "$(SRCROOT)"; 474 | PRODUCT_NAME = "$(TARGET_NAME)"; 475 | SDKROOT = iphoneos; 476 | SKIP_INSTALL = YES; 477 | }; 478 | name = Debug; 479 | }; 480 | F6CC4A10EBE9CFAA95603F04A08E3641 /* Debug */ = { 481 | isa = XCBuildConfiguration; 482 | baseConfigurationReference = 909B0261841DEB410835BFEF6EC1BF95 /* LDONavigationSubtitleView-Private.xcconfig */; 483 | buildSettings = { 484 | ENABLE_STRICT_OBJC_MSGSEND = YES; 485 | GCC_PREFIX_HEADER = "Target Support Files/LDONavigationSubtitleView/LDONavigationSubtitleView-prefix.pch"; 486 | IPHONEOS_DEPLOYMENT_TARGET = 7.1; 487 | MTL_ENABLE_DEBUG_INFO = YES; 488 | OTHER_LDFLAGS = ""; 489 | OTHER_LIBTOOLFLAGS = ""; 490 | PRODUCT_NAME = "$(TARGET_NAME)"; 491 | SDKROOT = iphoneos; 492 | SKIP_INSTALL = YES; 493 | }; 494 | name = Debug; 495 | }; 496 | /* End XCBuildConfiguration section */ 497 | 498 | /* Begin XCConfigurationList section */ 499 | 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { 500 | isa = XCConfigurationList; 501 | buildConfigurations = ( 502 | 0B57334D6C23DADAA4F7D802A5760EB2 /* Debug */, 503 | 03CA91998D6773EC5D02B3DB87B8353E /* Release */, 504 | ); 505 | defaultConfigurationIsVisible = 0; 506 | defaultConfigurationName = Release; 507 | }; 508 | 4D04B2F564F30B76AEA615C5DD5F1D1D /* Build configuration list for PBXNativeTarget "Pods-LDONavigationSubtitleView_Example" */ = { 509 | isa = XCConfigurationList; 510 | buildConfigurations = ( 511 | DD6109D214AC278A4C53A4F2F4ADA2FF /* Debug */, 512 | 58C49720C0F4FB69D5848BD28B3ACAD0 /* Release */, 513 | ); 514 | defaultConfigurationIsVisible = 0; 515 | defaultConfigurationName = Release; 516 | }; 517 | 95C38E031E257B86B2534EE71A6978DD /* Build configuration list for PBXNativeTarget "LDONavigationSubtitleView" */ = { 518 | isa = XCConfigurationList; 519 | buildConfigurations = ( 520 | F6CC4A10EBE9CFAA95603F04A08E3641 /* Debug */, 521 | B66361E5A60CA6540D784E3946790AE8 /* Release */, 522 | ); 523 | defaultConfigurationIsVisible = 0; 524 | defaultConfigurationName = Release; 525 | }; 526 | B97EC782E390F92B119A00F46C5B6430 /* Build configuration list for PBXNativeTarget "LDONavigationSubtitleView-LDONavigationSubtitleView" */ = { 527 | isa = XCConfigurationList; 528 | buildConfigurations = ( 529 | BED7792CF66E96D47AFBC24AF77E3DF9 /* Debug */, 530 | 7F8B4C6B9802FED1B017F3F9F3EC3F0D /* Release */, 531 | ); 532 | defaultConfigurationIsVisible = 0; 533 | defaultConfigurationName = Release; 534 | }; 535 | /* End XCConfigurationList section */ 536 | }; 537 | rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 538 | } 539 | -------------------------------------------------------------------------------- /Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/LDONavigationSubtitleView.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 47 | 48 | 54 | 55 | 57 | 58 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/LDONavigationSubtitleView/LDONavigationSubtitleView-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "LDONavigationSubtitleView.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/LDONavigationSubtitleView" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/LDONavigationSubtitleView" 4 | PODS_ROOT = ${SRCROOT} 5 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/LDONavigationSubtitleView/LDONavigationSubtitleView-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_LDONavigationSubtitleView : NSObject 3 | @end 4 | @implementation PodsDummy_LDONavigationSubtitleView 5 | @end 6 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/LDONavigationSubtitleView/LDONavigationSubtitleView-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/LDONavigationSubtitleView/LDONavigationSubtitleView.xcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lurado/LDONavigationSubtitleView/c90a326cc1bc4fc8a202e72b35c66060be8ac5ac/Example/Pods/Target Support Files/LDONavigationSubtitleView/LDONavigationSubtitleView.xcconfig -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-LDONavigationSubtitleView_Example/Pods-LDONavigationSubtitleView_Example-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## LDONavigationSubtitleView 5 | 6 | The MIT License (MIT) 7 | 8 | Copyright (c) 2015 Julian Raschke und Sebastian Ludwig GbR 9 | 10 | Permission is hereby granted, free of charge, to any person obtaining a copy 11 | of this software and associated documentation files (the "Software"), to deal 12 | in the Software without restriction, including without limitation the rights 13 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | copies of the Software, and to permit persons to whom the Software is 15 | furnished to do so, subject to the following conditions: 16 | 17 | The above copyright notice and this permission notice shall be included in all 18 | copies or substantial portions of the Software. 19 | 20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | SOFTWARE. 27 | 28 | 29 | Generated by CocoaPods - http://cocoapods.org 30 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-LDONavigationSubtitleView_Example/Pods-LDONavigationSubtitleView_Example-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | The MIT License (MIT) 18 | 19 | Copyright (c) 2015 Julian Raschke und Sebastian Ludwig GbR <sebastian@lurado.de> 20 | 21 | Permission is hereby granted, free of charge, to any person obtaining a copy 22 | of this software and associated documentation files (the "Software"), to deal 23 | in the Software without restriction, including without limitation the rights 24 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 25 | copies of the Software, and to permit persons to whom the Software is 26 | furnished to do so, subject to the following conditions: 27 | 28 | The above copyright notice and this permission notice shall be included in all 29 | copies or substantial portions of the Software. 30 | 31 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 32 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 33 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 34 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 35 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 36 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 37 | SOFTWARE. 38 | 39 | 40 | Title 41 | LDONavigationSubtitleView 42 | Type 43 | PSGroupSpecifier 44 | 45 | 46 | FooterText 47 | Generated by CocoaPods - http://cocoapods.org 48 | Title 49 | 50 | Type 51 | PSGroupSpecifier 52 | 53 | 54 | StringsTable 55 | Acknowledgements 56 | Title 57 | Acknowledgements 58 | 59 | 60 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-LDONavigationSubtitleView_Example/Pods-LDONavigationSubtitleView_Example-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_LDONavigationSubtitleView_Example : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_LDONavigationSubtitleView_Example 5 | @end 6 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-LDONavigationSubtitleView_Example/Pods-LDONavigationSubtitleView_Example-resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 5 | 6 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt 7 | > "$RESOURCES_TO_COPY" 8 | 9 | XCASSET_FILES=() 10 | 11 | realpath() { 12 | DIRECTORY="$(cd "${1%/*}" && pwd)" 13 | FILENAME="${1##*/}" 14 | echo "$DIRECTORY/$FILENAME" 15 | } 16 | 17 | install_resource() 18 | { 19 | case $1 in 20 | *.storyboard) 21 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" 22 | ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" 23 | ;; 24 | *.xib) 25 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" 26 | ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" 27 | ;; 28 | *.framework) 29 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 30 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 31 | echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 32 | rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 33 | ;; 34 | *.xcdatamodel) 35 | echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\"" 36 | xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom" 37 | ;; 38 | *.xcdatamodeld) 39 | echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\"" 40 | xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd" 41 | ;; 42 | *.xcmappingmodel) 43 | echo "xcrun mapc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm\"" 44 | xcrun mapc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm" 45 | ;; 46 | *.xcassets) 47 | ABSOLUTE_XCASSET_FILE=$(realpath "${PODS_ROOT}/$1") 48 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") 49 | ;; 50 | /*) 51 | echo "$1" 52 | echo "$1" >> "$RESOURCES_TO_COPY" 53 | ;; 54 | *) 55 | echo "${PODS_ROOT}/$1" 56 | echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY" 57 | ;; 58 | esac 59 | } 60 | if [[ "$CONFIGURATION" == "Debug" ]]; then 61 | install_resource "${BUILT_PRODUCTS_DIR}/LDONavigationSubtitleView.bundle" 62 | fi 63 | if [[ "$CONFIGURATION" == "Release" ]]; then 64 | install_resource "${BUILT_PRODUCTS_DIR}/LDONavigationSubtitleView.bundle" 65 | fi 66 | 67 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 68 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 69 | if [[ "${ACTION}" == "install" ]]; then 70 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 71 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 72 | fi 73 | rm -f "$RESOURCES_TO_COPY" 74 | 75 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] 76 | then 77 | case "${TARGETED_DEVICE_FAMILY}" in 78 | 1,2) 79 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" 80 | ;; 81 | 1) 82 | TARGET_DEVICE_ARGS="--target-device iphone" 83 | ;; 84 | 2) 85 | TARGET_DEVICE_ARGS="--target-device ipad" 86 | ;; 87 | *) 88 | TARGET_DEVICE_ARGS="--target-device mac" 89 | ;; 90 | esac 91 | 92 | # Find all other xcassets (this unfortunately includes those of path pods and other targets). 93 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) 94 | while read line; do 95 | if [[ $line != "`realpath $PODS_ROOT`*" ]]; then 96 | XCASSET_FILES+=("$line") 97 | fi 98 | done <<<"$OTHER_XCASSETS" 99 | 100 | printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 101 | fi 102 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-LDONavigationSubtitleView_Example/Pods-LDONavigationSubtitleView_Example.debug.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/LDONavigationSubtitleView" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/LDONavigationSubtitleView" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"LDONavigationSubtitleView" 5 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-LDONavigationSubtitleView_Example/Pods-LDONavigationSubtitleView_Example.release.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/LDONavigationSubtitleView" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/LDONavigationSubtitleView" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"LDONavigationSubtitleView" 5 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /LDONavigationSubtitleView.podspec: -------------------------------------------------------------------------------- 1 | # 2 | # Be sure to run `pod lib lint LDONavigationSubtitleView.podspec' to ensure this is a 3 | # valid spec and remove all comments before submitting the spec. 4 | # 5 | # Any lines starting with a # are optional, but encouraged 6 | # 7 | # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html 8 | # 9 | 10 | Pod::Spec.new do |s| 11 | s.name = "LDONavigationSubtitleView" 12 | s.version = "1.2.4" 13 | s.summary = "UINavigationItem title view with subtitle and nice animations." 14 | s.description = <<-DESC 15 | LDONavigationSubtitleView is a drop in replacement for the default 16 | navigation item title that is displayed in a UINavigationBar. If you 17 | only set a title, it looks just like the default. However, it supports 18 | an optional subtitle to be displayed unterneath the title. 19 | 20 | * Changes to title or subtitle can be animated (optional) 21 | * Supports Interface Builder customization 22 | * Looks good in Landscape & Portrait 23 | * Universal for iPhone and iPad 24 | DESC 25 | s.homepage = "https://github.com/lurado/LDONavigationSubtitleView" 26 | # s.screenshots = "www.example.com/screenshots_1", "www.example.com/screenshots_2" 27 | s.license = 'MIT' 28 | s.author = { "Julian Raschke und Sebastian Ludwig GbR" => "info@lurado.com" } 29 | s.source = { :git => "https://github.com/lurado/LDONavigationSubtitleView.git", :tag => s.version.to_s } 30 | 31 | s.platform = :ios, '7.0' 32 | s.requires_arc = true 33 | 34 | s.source_files = 'Pod/Classes/**/*' 35 | 36 | # s.public_header_files = 'Pod/Classes/**/*.h' 37 | # s.frameworks = 'UIKit', 'MapKit' 38 | # s.dependency 'AFNetworking', '~> 2.3' 39 | end 40 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Julian Raschke und Sebastian Ludwig GbR 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /Pod/Classes/LDONavigationSubtitleView.h: -------------------------------------------------------------------------------- 1 | // 2 | // LDONavigationSubtitleView.h 3 | // LDONavigationSubtitleView 4 | // 5 | // Created by Sebastian Ludwig on 10.07.15. 6 | // Copyright (c) 2015 Julian Raschke und Sebastian Ludwig GbR. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface LDONavigationSubtitleView : UIView 12 | 13 | @property (nonatomic, copy) IBInspectable NSString *title; 14 | @property (nonatomic, copy) IBInspectable NSString *subtitle; 15 | 16 | @property (nonatomic) IBInspectable NSInteger spacing; 17 | 18 | @property (nonatomic) IBInspectable UIColor *titleColor; 19 | @property (nonatomic) IBInspectable UIColor *subtitleColor; 20 | 21 | @property (nonatomic) IBInspectable UIFont *regularTitleFont; 22 | @property (nonatomic) IBInspectable UIFont *compactTitleFont; 23 | 24 | @property (nonatomic) IBInspectable UIFont *regularSubtitleFont; 25 | @property (nonatomic) IBInspectable UIFont *compactSubtitleFont; 26 | 27 | @property (nonatomic) IBInspectable BOOL animateChanges; 28 | 29 | 30 | @property (nonatomic) IBOutlet UIView *subtitleView; 31 | @property (nonatomic, weak) IBOutlet UIViewController *viewController; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /Pod/Classes/LDONavigationSubtitleView.m: -------------------------------------------------------------------------------- 1 | // 2 | // LDONavigationSubtitleView.m 3 | // LDONavigationSubtitleView 4 | // 5 | // Created by Sebastian Ludwig on 10.07.15. 6 | // Copyright (c) 2015 Julian Raschke und Sebastian Ludwig GbR. All rights reserved. 7 | // 8 | 9 | #import "LDONavigationSubtitleView.h" 10 | 11 | @interface LDONavigationSubtitleView () 12 | 13 | @property (nonatomic) UINavigationBar *navigationBar; 14 | @property (nonatomic) UILabel *titleLabel; 15 | @property (nonatomic) UILabel *subtitleLabel; 16 | 17 | @property (nonatomic) BOOL needsAnimatedLabelLayout; 18 | 19 | @property (nonatomic) BOOL setFrameCalled; 20 | 21 | @property (nonatomic) NSArray *watchedKeyPaths; 22 | @property (nonatomic) BOOL observingKeyPaths; 23 | 24 | @end 25 | 26 | @implementation LDONavigationSubtitleView 27 | 28 | - (instancetype)initWithCoder:(NSCoder *)aDecoder 29 | { 30 | if (self = [super initWithCoder:aDecoder]) { 31 | [self initialize]; 32 | } 33 | return self; 34 | } 35 | 36 | - (instancetype)initWithFrame:(CGRect)frame 37 | { 38 | if (self = [super initWithFrame:frame]) { 39 | [self initialize]; 40 | [self applyDefaults]; 41 | } 42 | return self; 43 | } 44 | 45 | - (void)initialize 46 | { 47 | self.watchedKeyPaths = @[ 48 | @"title", 49 | @"navigationItem.title", 50 | @"navigationItem.leftBarButtonItem", 51 | @"navigationItem.leftBarButtonItems", 52 | @"navigationItem.rightBarButtonItem", 53 | @"navigationItem.rightBarButtonItems" 54 | ]; 55 | self.backgroundColor = [UIColor clearColor]; 56 | _spacing = 1; 57 | 58 | _titleLabel = [[UILabel alloc] initWithFrame:CGRectZero]; 59 | _titleLabel.lineBreakMode = NSLineBreakByTruncatingTail; 60 | _subtitleLabel = [[UILabel alloc] initWithFrame:CGRectZero]; 61 | _subtitleLabel.lineBreakMode = NSLineBreakByTruncatingTail; 62 | _subtitleView = _subtitleLabel; 63 | 64 | [self addSubview:_titleLabel]; 65 | [self addSubview:_subtitleLabel]; 66 | } 67 | 68 | - (void)awakeFromNib 69 | { 70 | [super awakeFromNib]; 71 | 72 | [self applyDefaults]; 73 | 74 | self.viewController = _viewController; // trigger setter logic 75 | } 76 | 77 | - (void)applyDefaults 78 | { 79 | self.regularTitleFont = self.regularTitleFont ?: [UIFont boldSystemFontOfSize:17]; 80 | self.compactTitleFont = self.compactTitleFont ?: [UIFont boldSystemFontOfSize:16]; 81 | self.regularSubtitleFont = self.regularSubtitleFont ?: [UIFont systemFontOfSize:12]; 82 | self.compactSubtitleFont = self.compactSubtitleFont ?: [UIFont systemFontOfSize:12]; 83 | self.titleColor = self.titleColor ?: [UIColor blackColor]; 84 | self.subtitleColor = self.subtitleColor ?: [UIColor lightGrayColor]; 85 | } 86 | 87 | - (void)removeFromSuperview 88 | { 89 | [super removeFromSuperview]; 90 | [self removeKVO]; 91 | } 92 | 93 | - (void)willMoveToSuperview:(UIView *)newSuperview 94 | { 95 | [super willMoveToSuperview:newSuperview]; 96 | [self addKVO]; 97 | } 98 | 99 | - (void)removeKVO 100 | { 101 | if (!self.observingKeyPaths) { 102 | return; 103 | } 104 | 105 | for (NSString *keyPath in self.watchedKeyPaths) { 106 | [self.viewController removeObserver:self forKeyPath:keyPath]; 107 | } 108 | self.observingKeyPaths = NO; 109 | } 110 | 111 | - (void)addKVO 112 | { 113 | if (self.observingKeyPaths || !self.viewController) { 114 | return; 115 | } 116 | 117 | for (NSString *keyPath in self.watchedKeyPaths) { 118 | [self.viewController addObserver:self forKeyPath:keyPath options:NSKeyValueObservingOptionNew context:nil]; 119 | } 120 | self.observingKeyPaths = YES; 121 | } 122 | 123 | - (void)setSubtitleView:(UIView *)subtitleView 124 | { 125 | _subtitleView = subtitleView; 126 | if (subtitleView) { 127 | [self.subtitleLabel removeFromSuperview]; 128 | [self addSubview:subtitleView]; 129 | } else { 130 | [self.subtitleView removeFromSuperview]; 131 | [self addSubview:self.subtitleLabel]; 132 | } 133 | } 134 | 135 | - (void)setViewController:(UIViewController *)viewController 136 | { 137 | [self removeKVO]; 138 | _viewController = viewController; 139 | self.title = _viewController.title ?: _viewController.navigationItem.title; 140 | [self addKVO]; 141 | } 142 | 143 | - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context 144 | { 145 | if ([keyPath isEqualToString:@"title"]) { 146 | self.title = change[NSKeyValueChangeNewKey]; 147 | } else { 148 | [self setNeedsLayout]; 149 | } 150 | } 151 | 152 | - (void)findNavigationBar { 153 | if (self.navigationBar) { 154 | return; 155 | } 156 | 157 | 158 | UIView *parent = self.superview; 159 | while (parent && ![parent isKindOfClass:[UINavigationBar class]]) { 160 | parent = parent.superview; 161 | } 162 | 163 | self.navigationBar = (UINavigationBar *)parent; 164 | } 165 | 166 | - (void)setFrame:(CGRect)frame 167 | { 168 | self.setFrameCalled = YES; 169 | [self findNavigationBar]; 170 | 171 | if (self.navigationBar) { 172 | frame.origin.y = 0; 173 | frame.size.height = self.navigationBar.frame.size.height; 174 | 175 | [super setFrame:CGRectIntegral(frame)]; 176 | } else { 177 | [super setFrame:frame]; 178 | } 179 | } 180 | 181 | - (CGRect)xAlignFrame:(CGRect)frame navigationBarFrame:(CGRect)navigationBarFrame 182 | { 183 | CGFloat centerOffsetX = CGRectGetMidX(navigationBarFrame) - CGRectGetMidX(self.frame); 184 | 185 | frame.size.width = MIN(frame.size.width, self.frame.size.width); 186 | 187 | // center 188 | frame.origin.x = (self.frame.size.width - frame.size.width) / 2 + centerOffsetX; 189 | 190 | // constrain right edge 191 | CGFloat rightOverflow = CGRectGetMaxX(frame) - self.frame.size.width; // if the label is too large, offset it so it's right edge is still inside this view 192 | frame.origin.x -= MAX(0, rightOverflow); 193 | 194 | // constrain left edge 195 | frame.origin.x = MAX(0, frame.origin.x); 196 | 197 | return CGRectIntegral(frame); 198 | } 199 | 200 | - (void)layoutSubviews 201 | { 202 | [super layoutSubviews]; 203 | 204 | [self layoutLabelsAnimated:self.needsAnimatedLabelLayout]; 205 | } 206 | 207 | - (void)layoutLabelsAnimated:(BOOL)animated 208 | { 209 | if (!self.setFrameCalled) { // this is necessary to prevent an animation when the view is initially added to the navigation bar 210 | return; 211 | } 212 | 213 | if (animated) { 214 | self.needsAnimatedLabelLayout = NO; 215 | } 216 | 217 | BOOL titleLabelWasInvisible = CGRectEqualToRect(self.titleLabel.frame, CGRectZero); 218 | BOOL subtitleViewWasInvisible = CGRectEqualToRect(self.subtitleView.frame, CGRectZero); 219 | 220 | [self findNavigationBar]; 221 | 222 | CGRect navigationBarFrame = self.navigationBar ? self.navigationBar.frame : self.frame; 223 | 224 | BOOL navigationBarIsCompact = navigationBarFrame.size.height < 43; 225 | self.titleLabel.font = navigationBarIsCompact ? self.compactTitleFont : self.regularTitleFont; 226 | self.subtitleLabel.font = navigationBarIsCompact ? self.compactSubtitleFont : self.regularSubtitleFont; 227 | 228 | self.titleLabel.textColor = self.titleColor; 229 | self.subtitleLabel.textColor = self.subtitleColor; 230 | 231 | CGSize titleSize = [self.titleLabel sizeThatFits:self.titleLabel.bounds.size]; 232 | CGRect titleFrame = CGRectMake(self.titleLabel.frame.origin.x, self.titleLabel.frame.origin.y, titleSize.width, titleSize.height); 233 | 234 | BOOL customSubtitleView = self.subtitleView != self.subtitleLabel; 235 | CGRect subtitleFrame = CGRectZero; 236 | if (customSubtitleView) { 237 | subtitleFrame = self.subtitleView.frame; 238 | } else if (self.subtitle || !animated) { // if no subtitle but animated, keep the text until the animation is finished - otherwise (this case) change instantly 239 | 240 | // crossfade text change animation, if new subtitle does not contain the old subtitle 241 | if (animated && self.subtitle && self.subtitleLabel.text) { 242 | BOOL contained = [self.subtitle rangeOfString:self.subtitleLabel.text].location != NSNotFound || [self.subtitleLabel.text rangeOfString:self.subtitle].location != NSNotFound; 243 | if (!contained) { 244 | CATransition *animation = [CATransition animation]; 245 | animation.duration = 1.0; 246 | animation.type = kCATransitionFade; 247 | animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 248 | [self.subtitleLabel.layer addAnimation:animation forKey:@"changeTextTransition"]; 249 | } 250 | } 251 | 252 | self.subtitleLabel.text = self.subtitle; 253 | 254 | CGSize subtitleSize = [self.subtitleLabel sizeThatFits:self.subtitleLabel.bounds.size]; 255 | subtitleFrame = CGRectMake(0, 0, subtitleSize.width, subtitleSize.height); 256 | } 257 | 258 | // vertical positioning 259 | if (self.subtitleLabel.text || customSubtitleView) { 260 | titleFrame.origin.y = (self.frame.size.height - (titleFrame.size.height + subtitleFrame.size.height + self.spacing)) / 2; 261 | titleFrame.origin.y = MAX(0, titleFrame.origin.y); // prevent top overflow: align no further down than justified with the top edge 262 | 263 | subtitleFrame.origin.y = CGRectGetMaxY(titleFrame) + self.spacing; 264 | subtitleFrame.origin.y = MIN(subtitleFrame.origin.y, self.frame.size.height - subtitleFrame.size.height); // prevent bottom overflow: align bottom edge justified with parent frame 265 | } else { 266 | titleFrame.origin.y = (self.frame.size.height - titleFrame.size.height) / 2; 267 | if (navigationBarIsCompact) { 268 | titleFrame.origin.y -= 1; 269 | } 270 | } 271 | 272 | // horizontal positioning 273 | titleFrame = [self xAlignFrame:titleFrame navigationBarFrame:navigationBarFrame]; 274 | subtitleFrame = [self xAlignFrame:subtitleFrame navigationBarFrame:navigationBarFrame]; 275 | 276 | 277 | // animations 278 | 279 | if (titleLabelWasInvisible || !animated) { 280 | self.titleLabel.frame = titleFrame; 281 | } else { 282 | [UIView animateWithDuration:0.3 animations:^{ 283 | self.titleLabel.frame = titleFrame; 284 | }]; 285 | } 286 | 287 | // was visible 288 | // will become invisible 289 | // will become invisible animated 290 | // will change frame 291 | // will change frame animated 292 | 293 | // was not visible 294 | // will become visible 295 | // will become visible animated 296 | 297 | BOOL shouldBeVisible = self.subtitle != nil || customSubtitleView; 298 | 299 | if (self.subtitleView.alpha > 0.9) { // was visible 300 | if (!shouldBeVisible) { // will become invisible 301 | if (animated) { // animated 302 | [UIView animateWithDuration:0.2 303 | animations:^{ 304 | self.subtitleView.alpha = 0; 305 | } completion:^(BOOL finished) { 306 | if (finished) { 307 | self.subtitleView.hidden = YES; 308 | self.subtitleLabel.text = self.subtitle; 309 | } 310 | }]; 311 | } else { // without animation 312 | self.subtitleView.alpha = 0; 313 | self.subtitleView.hidden = YES; 314 | } 315 | } else { // will cahnge frame 316 | if (subtitleViewWasInvisible || !animated) { // without animated 317 | self.subtitleView.frame = subtitleFrame; 318 | } else { // animation 319 | [UIView animateWithDuration:0.3 320 | animations:^{ 321 | self.subtitleView.frame = subtitleFrame; 322 | }]; 323 | } 324 | } 325 | } else if (shouldBeVisible) { // was not visible 326 | self.subtitleView.frame = subtitleFrame; 327 | self.subtitleView.alpha = 0; 328 | self.subtitleView.hidden = NO; 329 | if (animated) { 330 | [UIView animateWithDuration:0.3 animations:^{ 331 | self.subtitleView.alpha = 1; 332 | }]; 333 | } else { 334 | self.subtitleView.alpha = 1; 335 | } 336 | } 337 | } 338 | 339 | - (NSString *)title 340 | { 341 | return self.titleLabel.text; 342 | } 343 | 344 | - (void)setTitle:(NSString *)text 345 | { 346 | self.titleLabel.text = text; 347 | self.needsAnimatedLabelLayout = self.animateChanges; 348 | [self setNeedsLayout]; 349 | } 350 | 351 | - (void)setSubtitle:(NSString *)text 352 | { 353 | _subtitle = text; 354 | self.needsAnimatedLabelLayout = self.animateChanges; 355 | [self setNeedsLayout]; 356 | } 357 | 358 | @end 359 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # LDONavigationSubtitleView 2 | 3 | [![Version](https://img.shields.io/cocoapods/v/LDONavigationSubtitleView.svg?style=flat)](http://cocoapods.org/pods/LDONavigationSubtitleView) 4 | [![License](https://img.shields.io/cocoapods/l/LDONavigationSubtitleView.svg?style=flat)](http://cocoapods.org/pods/LDONavigationSubtitleView) 5 | [![Platform](https://img.shields.io/cocoapods/p/LDONavigationSubtitleView.svg?style=flat)](http://cocoapods.org/pods/LDONavigationSubtitleView) 6 | 7 | ## What does it look like? 8 | 9 | Screenshots don't really do this pod justice, but here's one: 10 | 11 | ![Screenshot](https://raw.githubusercontent.com/lurado/LDONavigationSubtitleView/master/Screenshots/demo_app.png) 12 | 13 | ## Usage 14 | 15 | To run the example project, clone the repo, and run `pod install` from the Example directory first. 16 | 17 | If you want the subtitle view to pick up a view controllers `title`, connect it to the subtitle views `viewController` outlet property (in code or IB). 18 | 19 | ## Requirements 20 | 21 | Requires iOS 7 or later. 22 | 23 | ## Installation 24 | 25 | LDONavigationSubtitleView is available through [CocoaPods](http://cocoapods.org). To install 26 | it, simply add the following line to your Podfile: 27 | 28 | ```ruby 29 | pod "LDONavigationSubtitleView" 30 | ``` 31 | 32 | ## Author 33 | 34 | Julian Raschke und Sebastian Ludwig GbR, info@lurado.com 35 | 36 | ## License 37 | 38 | LDONavigationSubtitleView is available under the MIT license. See the LICENSE file for more info. 39 | -------------------------------------------------------------------------------- /Screenshots/demo_app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lurado/LDONavigationSubtitleView/c90a326cc1bc4fc8a202e72b35c66060be8ac5ac/Screenshots/demo_app.png -------------------------------------------------------------------------------- /_Pods.xcodeproj: -------------------------------------------------------------------------------- 1 | Example/Pods/Pods.xcodeproj --------------------------------------------------------------------------------