├── PickerAlertView.xcodeproj ├── project.pbxproj └── project.xcworkspace │ └── contents.xcworkspacedata ├── PickerAlertView ├── PickerAlertView-Info.plist ├── PickerAlertView-Prefix.pch ├── PickerAlertView.h ├── PickerAlertView.m ├── PickerAlertViewAppDelegate.h ├── PickerAlertViewAppDelegate.m ├── PickerViewController.h ├── PickerViewController.m ├── en.lproj │ └── InfoPlist.strings └── main.m └── PickerAlertViewTests ├── PickerAlertViewTests-Info.plist ├── PickerAlertViewTests.h ├── PickerAlertViewTests.m └── en.lproj └── InfoPlist.strings /PickerAlertView.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 86AB3EC813FA3F89004F844A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86AB3EC713FA3F89004F844A /* UIKit.framework */; }; 11 | 86AB3ECA13FA3F89004F844A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86AB3EC913FA3F89004F844A /* Foundation.framework */; }; 12 | 86AB3ECC13FA3F89004F844A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86AB3ECB13FA3F89004F844A /* CoreGraphics.framework */; }; 13 | 86AB3ED213FA3F89004F844A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 86AB3ED013FA3F89004F844A /* InfoPlist.strings */; }; 14 | 86AB3ED413FA3F89004F844A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 86AB3ED313FA3F89004F844A /* main.m */; }; 15 | 86AB3ED813FA3F89004F844A /* PickerAlertViewAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 86AB3ED713FA3F89004F844A /* PickerAlertViewAppDelegate.m */; }; 16 | 86AB3EE013FA3F89004F844A /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86AB3EDF13FA3F89004F844A /* SenTestingKit.framework */; }; 17 | 86AB3EE113FA3F89004F844A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86AB3EC713FA3F89004F844A /* UIKit.framework */; }; 18 | 86AB3EE213FA3F89004F844A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86AB3EC913FA3F89004F844A /* Foundation.framework */; }; 19 | 86AB3EE313FA3F89004F844A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86AB3ECB13FA3F89004F844A /* CoreGraphics.framework */; }; 20 | 86AB3EEB13FA3F89004F844A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 86AB3EE913FA3F89004F844A /* InfoPlist.strings */; }; 21 | 86AB3EEE13FA3F89004F844A /* PickerAlertViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 86AB3EED13FA3F89004F844A /* PickerAlertViewTests.m */; }; 22 | 86AB3F0F13FA42CA004F844A /* PickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 86AB3F0E13FA42CA004F844A /* PickerViewController.m */; }; 23 | 86AB3F1213FA4480004F844A /* PickerAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = 86AB3F1113FA4480004F844A /* PickerAlertView.m */; }; 24 | /* End PBXBuildFile section */ 25 | 26 | /* Begin PBXContainerItemProxy section */ 27 | 86AB3EE413FA3F89004F844A /* PBXContainerItemProxy */ = { 28 | isa = PBXContainerItemProxy; 29 | containerPortal = 86AB3EBA13FA3F89004F844A /* Project object */; 30 | proxyType = 1; 31 | remoteGlobalIDString = 86AB3EC213FA3F89004F844A; 32 | remoteInfo = PickerAlertView; 33 | }; 34 | /* End PBXContainerItemProxy section */ 35 | 36 | /* Begin PBXFileReference section */ 37 | 86AB3EC313FA3F89004F844A /* PickerAlertView.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PickerAlertView.app; sourceTree = BUILT_PRODUCTS_DIR; }; 38 | 86AB3EC713FA3F89004F844A /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 39 | 86AB3EC913FA3F89004F844A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 40 | 86AB3ECB13FA3F89004F844A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 41 | 86AB3ECF13FA3F89004F844A /* PickerAlertView-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "PickerAlertView-Info.plist"; sourceTree = ""; }; 42 | 86AB3ED113FA3F89004F844A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 43 | 86AB3ED313FA3F89004F844A /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 44 | 86AB3ED513FA3F89004F844A /* PickerAlertView-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PickerAlertView-Prefix.pch"; sourceTree = ""; }; 45 | 86AB3ED613FA3F89004F844A /* PickerAlertViewAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PickerAlertViewAppDelegate.h; sourceTree = ""; }; 46 | 86AB3ED713FA3F89004F844A /* PickerAlertViewAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PickerAlertViewAppDelegate.m; sourceTree = ""; }; 47 | 86AB3EDE13FA3F89004F844A /* PickerAlertViewTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PickerAlertViewTests.octest; sourceTree = BUILT_PRODUCTS_DIR; }; 48 | 86AB3EDF13FA3F89004F844A /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; 49 | 86AB3EE813FA3F89004F844A /* PickerAlertViewTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "PickerAlertViewTests-Info.plist"; sourceTree = ""; }; 50 | 86AB3EEA13FA3F89004F844A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 51 | 86AB3EEC13FA3F89004F844A /* PickerAlertViewTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PickerAlertViewTests.h; sourceTree = ""; }; 52 | 86AB3EED13FA3F89004F844A /* PickerAlertViewTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PickerAlertViewTests.m; sourceTree = ""; }; 53 | 86AB3F0D13FA42CA004F844A /* PickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PickerViewController.h; sourceTree = ""; }; 54 | 86AB3F0E13FA42CA004F844A /* PickerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PickerViewController.m; sourceTree = ""; }; 55 | 86AB3F1013FA4480004F844A /* PickerAlertView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PickerAlertView.h; sourceTree = ""; }; 56 | 86AB3F1113FA4480004F844A /* PickerAlertView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PickerAlertView.m; sourceTree = ""; }; 57 | /* End PBXFileReference section */ 58 | 59 | /* Begin PBXFrameworksBuildPhase section */ 60 | 86AB3EC013FA3F89004F844A /* Frameworks */ = { 61 | isa = PBXFrameworksBuildPhase; 62 | buildActionMask = 2147483647; 63 | files = ( 64 | 86AB3EC813FA3F89004F844A /* UIKit.framework in Frameworks */, 65 | 86AB3ECA13FA3F89004F844A /* Foundation.framework in Frameworks */, 66 | 86AB3ECC13FA3F89004F844A /* CoreGraphics.framework in Frameworks */, 67 | ); 68 | runOnlyForDeploymentPostprocessing = 0; 69 | }; 70 | 86AB3EDA13FA3F89004F844A /* Frameworks */ = { 71 | isa = PBXFrameworksBuildPhase; 72 | buildActionMask = 2147483647; 73 | files = ( 74 | 86AB3EE013FA3F89004F844A /* SenTestingKit.framework in Frameworks */, 75 | 86AB3EE113FA3F89004F844A /* UIKit.framework in Frameworks */, 76 | 86AB3EE213FA3F89004F844A /* Foundation.framework in Frameworks */, 77 | 86AB3EE313FA3F89004F844A /* CoreGraphics.framework in Frameworks */, 78 | ); 79 | runOnlyForDeploymentPostprocessing = 0; 80 | }; 81 | /* End PBXFrameworksBuildPhase section */ 82 | 83 | /* Begin PBXGroup section */ 84 | 86AB3EB813FA3F89004F844A = { 85 | isa = PBXGroup; 86 | children = ( 87 | 86AB3ECD13FA3F89004F844A /* PickerAlertView */, 88 | 86AB3EE613FA3F89004F844A /* PickerAlertViewTests */, 89 | 86AB3EC613FA3F89004F844A /* Frameworks */, 90 | 86AB3EC413FA3F89004F844A /* Products */, 91 | ); 92 | sourceTree = ""; 93 | }; 94 | 86AB3EC413FA3F89004F844A /* Products */ = { 95 | isa = PBXGroup; 96 | children = ( 97 | 86AB3EC313FA3F89004F844A /* PickerAlertView.app */, 98 | 86AB3EDE13FA3F89004F844A /* PickerAlertViewTests.octest */, 99 | ); 100 | name = Products; 101 | sourceTree = ""; 102 | }; 103 | 86AB3EC613FA3F89004F844A /* Frameworks */ = { 104 | isa = PBXGroup; 105 | children = ( 106 | 86AB3EC713FA3F89004F844A /* UIKit.framework */, 107 | 86AB3EC913FA3F89004F844A /* Foundation.framework */, 108 | 86AB3ECB13FA3F89004F844A /* CoreGraphics.framework */, 109 | 86AB3EDF13FA3F89004F844A /* SenTestingKit.framework */, 110 | ); 111 | name = Frameworks; 112 | sourceTree = ""; 113 | }; 114 | 86AB3ECD13FA3F89004F844A /* PickerAlertView */ = { 115 | isa = PBXGroup; 116 | children = ( 117 | 86AB3ED613FA3F89004F844A /* PickerAlertViewAppDelegate.h */, 118 | 86AB3ED713FA3F89004F844A /* PickerAlertViewAppDelegate.m */, 119 | 86AB3F0D13FA42CA004F844A /* PickerViewController.h */, 120 | 86AB3F0E13FA42CA004F844A /* PickerViewController.m */, 121 | 86AB3F1013FA4480004F844A /* PickerAlertView.h */, 122 | 86AB3F1113FA4480004F844A /* PickerAlertView.m */, 123 | 86AB3ECE13FA3F89004F844A /* Supporting Files */, 124 | ); 125 | path = PickerAlertView; 126 | sourceTree = ""; 127 | }; 128 | 86AB3ECE13FA3F89004F844A /* Supporting Files */ = { 129 | isa = PBXGroup; 130 | children = ( 131 | 86AB3ECF13FA3F89004F844A /* PickerAlertView-Info.plist */, 132 | 86AB3ED013FA3F89004F844A /* InfoPlist.strings */, 133 | 86AB3ED313FA3F89004F844A /* main.m */, 134 | 86AB3ED513FA3F89004F844A /* PickerAlertView-Prefix.pch */, 135 | ); 136 | name = "Supporting Files"; 137 | sourceTree = ""; 138 | }; 139 | 86AB3EE613FA3F89004F844A /* PickerAlertViewTests */ = { 140 | isa = PBXGroup; 141 | children = ( 142 | 86AB3EEC13FA3F89004F844A /* PickerAlertViewTests.h */, 143 | 86AB3EED13FA3F89004F844A /* PickerAlertViewTests.m */, 144 | 86AB3EE713FA3F89004F844A /* Supporting Files */, 145 | ); 146 | path = PickerAlertViewTests; 147 | sourceTree = ""; 148 | }; 149 | 86AB3EE713FA3F89004F844A /* Supporting Files */ = { 150 | isa = PBXGroup; 151 | children = ( 152 | 86AB3EE813FA3F89004F844A /* PickerAlertViewTests-Info.plist */, 153 | 86AB3EE913FA3F89004F844A /* InfoPlist.strings */, 154 | ); 155 | name = "Supporting Files"; 156 | sourceTree = ""; 157 | }; 158 | /* End PBXGroup section */ 159 | 160 | /* Begin PBXNativeTarget section */ 161 | 86AB3EC213FA3F89004F844A /* PickerAlertView */ = { 162 | isa = PBXNativeTarget; 163 | buildConfigurationList = 86AB3EF113FA3F89004F844A /* Build configuration list for PBXNativeTarget "PickerAlertView" */; 164 | buildPhases = ( 165 | 86AB3EBF13FA3F89004F844A /* Sources */, 166 | 86AB3EC013FA3F89004F844A /* Frameworks */, 167 | 86AB3EC113FA3F89004F844A /* Resources */, 168 | ); 169 | buildRules = ( 170 | ); 171 | dependencies = ( 172 | ); 173 | name = PickerAlertView; 174 | productName = PickerAlertView; 175 | productReference = 86AB3EC313FA3F89004F844A /* PickerAlertView.app */; 176 | productType = "com.apple.product-type.application"; 177 | }; 178 | 86AB3EDD13FA3F89004F844A /* PickerAlertViewTests */ = { 179 | isa = PBXNativeTarget; 180 | buildConfigurationList = 86AB3EF413FA3F89004F844A /* Build configuration list for PBXNativeTarget "PickerAlertViewTests" */; 181 | buildPhases = ( 182 | 86AB3ED913FA3F89004F844A /* Sources */, 183 | 86AB3EDA13FA3F89004F844A /* Frameworks */, 184 | 86AB3EDB13FA3F89004F844A /* Resources */, 185 | 86AB3EDC13FA3F89004F844A /* ShellScript */, 186 | ); 187 | buildRules = ( 188 | ); 189 | dependencies = ( 190 | 86AB3EE513FA3F89004F844A /* PBXTargetDependency */, 191 | ); 192 | name = PickerAlertViewTests; 193 | productName = PickerAlertViewTests; 194 | productReference = 86AB3EDE13FA3F89004F844A /* PickerAlertViewTests.octest */; 195 | productType = "com.apple.product-type.bundle"; 196 | }; 197 | /* End PBXNativeTarget section */ 198 | 199 | /* Begin PBXProject section */ 200 | 86AB3EBA13FA3F89004F844A /* Project object */ = { 201 | isa = PBXProject; 202 | attributes = { 203 | LastUpgradeCheck = 0420; 204 | }; 205 | buildConfigurationList = 86AB3EBD13FA3F89004F844A /* Build configuration list for PBXProject "PickerAlertView" */; 206 | compatibilityVersion = "Xcode 3.2"; 207 | developmentRegion = English; 208 | hasScannedForEncodings = 0; 209 | knownRegions = ( 210 | en, 211 | ); 212 | mainGroup = 86AB3EB813FA3F89004F844A; 213 | productRefGroup = 86AB3EC413FA3F89004F844A /* Products */; 214 | projectDirPath = ""; 215 | projectRoot = ""; 216 | targets = ( 217 | 86AB3EC213FA3F89004F844A /* PickerAlertView */, 218 | 86AB3EDD13FA3F89004F844A /* PickerAlertViewTests */, 219 | ); 220 | }; 221 | /* End PBXProject section */ 222 | 223 | /* Begin PBXResourcesBuildPhase section */ 224 | 86AB3EC113FA3F89004F844A /* Resources */ = { 225 | isa = PBXResourcesBuildPhase; 226 | buildActionMask = 2147483647; 227 | files = ( 228 | 86AB3ED213FA3F89004F844A /* InfoPlist.strings in Resources */, 229 | ); 230 | runOnlyForDeploymentPostprocessing = 0; 231 | }; 232 | 86AB3EDB13FA3F89004F844A /* Resources */ = { 233 | isa = PBXResourcesBuildPhase; 234 | buildActionMask = 2147483647; 235 | files = ( 236 | 86AB3EEB13FA3F89004F844A /* InfoPlist.strings in Resources */, 237 | ); 238 | runOnlyForDeploymentPostprocessing = 0; 239 | }; 240 | /* End PBXResourcesBuildPhase section */ 241 | 242 | /* Begin PBXShellScriptBuildPhase section */ 243 | 86AB3EDC13FA3F89004F844A /* ShellScript */ = { 244 | isa = PBXShellScriptBuildPhase; 245 | buildActionMask = 2147483647; 246 | files = ( 247 | ); 248 | inputPaths = ( 249 | ); 250 | outputPaths = ( 251 | ); 252 | runOnlyForDeploymentPostprocessing = 0; 253 | shellPath = /bin/sh; 254 | shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; 255 | }; 256 | /* End PBXShellScriptBuildPhase section */ 257 | 258 | /* Begin PBXSourcesBuildPhase section */ 259 | 86AB3EBF13FA3F89004F844A /* Sources */ = { 260 | isa = PBXSourcesBuildPhase; 261 | buildActionMask = 2147483647; 262 | files = ( 263 | 86AB3ED413FA3F89004F844A /* main.m in Sources */, 264 | 86AB3ED813FA3F89004F844A /* PickerAlertViewAppDelegate.m in Sources */, 265 | 86AB3F0F13FA42CA004F844A /* PickerViewController.m in Sources */, 266 | 86AB3F1213FA4480004F844A /* PickerAlertView.m in Sources */, 267 | ); 268 | runOnlyForDeploymentPostprocessing = 0; 269 | }; 270 | 86AB3ED913FA3F89004F844A /* Sources */ = { 271 | isa = PBXSourcesBuildPhase; 272 | buildActionMask = 2147483647; 273 | files = ( 274 | 86AB3EEE13FA3F89004F844A /* PickerAlertViewTests.m in Sources */, 275 | ); 276 | runOnlyForDeploymentPostprocessing = 0; 277 | }; 278 | /* End PBXSourcesBuildPhase section */ 279 | 280 | /* Begin PBXTargetDependency section */ 281 | 86AB3EE513FA3F89004F844A /* PBXTargetDependency */ = { 282 | isa = PBXTargetDependency; 283 | target = 86AB3EC213FA3F89004F844A /* PickerAlertView */; 284 | targetProxy = 86AB3EE413FA3F89004F844A /* PBXContainerItemProxy */; 285 | }; 286 | /* End PBXTargetDependency section */ 287 | 288 | /* Begin PBXVariantGroup section */ 289 | 86AB3ED013FA3F89004F844A /* InfoPlist.strings */ = { 290 | isa = PBXVariantGroup; 291 | children = ( 292 | 86AB3ED113FA3F89004F844A /* en */, 293 | ); 294 | name = InfoPlist.strings; 295 | sourceTree = ""; 296 | }; 297 | 86AB3EE913FA3F89004F844A /* InfoPlist.strings */ = { 298 | isa = PBXVariantGroup; 299 | children = ( 300 | 86AB3EEA13FA3F89004F844A /* en */, 301 | ); 302 | name = InfoPlist.strings; 303 | sourceTree = ""; 304 | }; 305 | /* End PBXVariantGroup section */ 306 | 307 | /* Begin XCBuildConfiguration section */ 308 | 86AB3EEF13FA3F89004F844A /* Debug */ = { 309 | isa = XCBuildConfiguration; 310 | buildSettings = { 311 | ALWAYS_SEARCH_USER_PATHS = NO; 312 | ARCHS = "$(ARCHS_STANDARD_32_BIT)"; 313 | CLANG_ENABLE_OBJC_ARC = YES; 314 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 315 | COPY_PHASE_STRIP = NO; 316 | GCC_C_LANGUAGE_STANDARD = gnu99; 317 | GCC_DYNAMIC_NO_PIC = NO; 318 | GCC_OPTIMIZATION_LEVEL = 0; 319 | GCC_PREPROCESSOR_DEFINITIONS = ( 320 | "DEBUG=1", 321 | "$(inherited)", 322 | ); 323 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 324 | GCC_VERSION = com.apple.compilers.llvmgcc42; 325 | GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; 326 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 327 | GCC_WARN_UNUSED_VARIABLE = YES; 328 | IPHONEOS_DEPLOYMENT_TARGET = 5.0; 329 | SDKROOT = iphoneos; 330 | }; 331 | name = Debug; 332 | }; 333 | 86AB3EF013FA3F89004F844A /* Release */ = { 334 | isa = XCBuildConfiguration; 335 | buildSettings = { 336 | ALWAYS_SEARCH_USER_PATHS = NO; 337 | ARCHS = "$(ARCHS_STANDARD_32_BIT)"; 338 | CLANG_ENABLE_OBJC_ARC = YES; 339 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 340 | COPY_PHASE_STRIP = YES; 341 | GCC_C_LANGUAGE_STANDARD = gnu99; 342 | GCC_VERSION = com.apple.compilers.llvmgcc42; 343 | GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; 344 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 345 | GCC_WARN_UNUSED_VARIABLE = YES; 346 | IPHONEOS_DEPLOYMENT_TARGET = 5.0; 347 | OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; 348 | SDKROOT = iphoneos; 349 | VALIDATE_PRODUCT = YES; 350 | }; 351 | name = Release; 352 | }; 353 | 86AB3EF213FA3F89004F844A /* Debug */ = { 354 | isa = XCBuildConfiguration; 355 | buildSettings = { 356 | CODE_SIGN_IDENTITY = "iPhone Developer: guibin li (V49VKE4N92)"; 357 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: guibin li (V49VKE4N92)"; 358 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 359 | GCC_PREFIX_HEADER = "PickerAlertView/PickerAlertView-Prefix.pch"; 360 | GCC_VERSION = ""; 361 | INFOPLIST_FILE = "PickerAlertView/PickerAlertView-Info.plist"; 362 | IPHONEOS_DEPLOYMENT_TARGET = 4.0; 363 | PRODUCT_NAME = "$(TARGET_NAME)"; 364 | PROVISIONING_PROFILE = "FDCD9F1D-85D1-4D25-8D0F-BE819EFE65D3"; 365 | "PROVISIONING_PROFILE[sdk=iphoneos*]" = "FDCD9F1D-85D1-4D25-8D0F-BE819EFE65D3"; 366 | WRAPPER_EXTENSION = app; 367 | }; 368 | name = Debug; 369 | }; 370 | 86AB3EF313FA3F89004F844A /* Release */ = { 371 | isa = XCBuildConfiguration; 372 | buildSettings = { 373 | CODE_SIGN_IDENTITY = "iPhone Developer: guibin li (V49VKE4N92)"; 374 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: guibin li (V49VKE4N92)"; 375 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 376 | GCC_PREFIX_HEADER = "PickerAlertView/PickerAlertView-Prefix.pch"; 377 | GCC_VERSION = ""; 378 | INFOPLIST_FILE = "PickerAlertView/PickerAlertView-Info.plist"; 379 | IPHONEOS_DEPLOYMENT_TARGET = 4.0; 380 | PRODUCT_NAME = "$(TARGET_NAME)"; 381 | PROVISIONING_PROFILE = "FDCD9F1D-85D1-4D25-8D0F-BE819EFE65D3"; 382 | "PROVISIONING_PROFILE[sdk=iphoneos*]" = "FDCD9F1D-85D1-4D25-8D0F-BE819EFE65D3"; 383 | WRAPPER_EXTENSION = app; 384 | }; 385 | name = Release; 386 | }; 387 | 86AB3EF513FA3F89004F844A /* Debug */ = { 388 | isa = XCBuildConfiguration; 389 | buildSettings = { 390 | BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/PickerAlertView.app/PickerAlertView"; 391 | FRAMEWORK_SEARCH_PATHS = ( 392 | "$(SDKROOT)/Developer/Library/Frameworks", 393 | "$(DEVELOPER_LIBRARY_DIR)/Frameworks", 394 | ); 395 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 396 | GCC_PREFIX_HEADER = "PickerAlertView/PickerAlertView-Prefix.pch"; 397 | INFOPLIST_FILE = "PickerAlertViewTests/PickerAlertViewTests-Info.plist"; 398 | PRODUCT_NAME = "$(TARGET_NAME)"; 399 | TEST_HOST = "$(BUNDLE_LOADER)"; 400 | WRAPPER_EXTENSION = octest; 401 | }; 402 | name = Debug; 403 | }; 404 | 86AB3EF613FA3F89004F844A /* Release */ = { 405 | isa = XCBuildConfiguration; 406 | buildSettings = { 407 | BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/PickerAlertView.app/PickerAlertView"; 408 | FRAMEWORK_SEARCH_PATHS = ( 409 | "$(SDKROOT)/Developer/Library/Frameworks", 410 | "$(DEVELOPER_LIBRARY_DIR)/Frameworks", 411 | ); 412 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 413 | GCC_PREFIX_HEADER = "PickerAlertView/PickerAlertView-Prefix.pch"; 414 | INFOPLIST_FILE = "PickerAlertViewTests/PickerAlertViewTests-Info.plist"; 415 | PRODUCT_NAME = "$(TARGET_NAME)"; 416 | TEST_HOST = "$(BUNDLE_LOADER)"; 417 | WRAPPER_EXTENSION = octest; 418 | }; 419 | name = Release; 420 | }; 421 | /* End XCBuildConfiguration section */ 422 | 423 | /* Begin XCConfigurationList section */ 424 | 86AB3EBD13FA3F89004F844A /* Build configuration list for PBXProject "PickerAlertView" */ = { 425 | isa = XCConfigurationList; 426 | buildConfigurations = ( 427 | 86AB3EEF13FA3F89004F844A /* Debug */, 428 | 86AB3EF013FA3F89004F844A /* Release */, 429 | ); 430 | defaultConfigurationIsVisible = 0; 431 | defaultConfigurationName = Release; 432 | }; 433 | 86AB3EF113FA3F89004F844A /* Build configuration list for PBXNativeTarget "PickerAlertView" */ = { 434 | isa = XCConfigurationList; 435 | buildConfigurations = ( 436 | 86AB3EF213FA3F89004F844A /* Debug */, 437 | 86AB3EF313FA3F89004F844A /* Release */, 438 | ); 439 | defaultConfigurationIsVisible = 0; 440 | defaultConfigurationName = Release; 441 | }; 442 | 86AB3EF413FA3F89004F844A /* Build configuration list for PBXNativeTarget "PickerAlertViewTests" */ = { 443 | isa = XCConfigurationList; 444 | buildConfigurations = ( 445 | 86AB3EF513FA3F89004F844A /* Debug */, 446 | 86AB3EF613FA3F89004F844A /* Release */, 447 | ); 448 | defaultConfigurationIsVisible = 0; 449 | defaultConfigurationName = Release; 450 | }; 451 | /* End XCConfigurationList section */ 452 | }; 453 | rootObject = 86AB3EBA13FA3F89004F844A /* Project object */; 454 | } 455 | -------------------------------------------------------------------------------- /PickerAlertView.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /PickerAlertView/PickerAlertView-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | pickeralert 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIconFiles 12 | 13 | CFBundleIdentifier 14 | com.aliyun.yunliao 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleShortVersionString 22 | 1.0 23 | CFBundleSignature 24 | ???? 25 | CFBundleVersion 26 | 1.0 27 | LSRequiresIPhoneOS 28 | 29 | UISupportedInterfaceOrientations 30 | 31 | UIInterfaceOrientationPortrait 32 | UIInterfaceOrientationLandscapeLeft 33 | UIInterfaceOrientationLandscapeRight 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /PickerAlertView/PickerAlertView-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'PickerAlertView' target in the 'PickerAlertView' project 3 | // 4 | 5 | #import 6 | 7 | #ifndef __IPHONE_3_0 8 | #warning "This project uses features only available in iOS SDK 3.0 and later." 9 | #endif 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /PickerAlertView/PickerAlertView.h: -------------------------------------------------------------------------------- 1 | // 2 | // PickerAlertView.h 3 | // YunPlus 4 | // 5 | // Created by juxue.chen on 8/12/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | @interface PickerAlertView : UIAlertView{ 10 | UIDatePicker *datePickerView; 11 | } 12 | 13 | @property (nonatomic,retain) UIDatePicker *datePickerView; 14 | 15 | - (void)createDatePicker; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /PickerAlertView/PickerAlertView.m: -------------------------------------------------------------------------------- 1 | // 2 | // PickerAlertView.m 3 | // YunPlus 4 | // 5 | // Created by juxue.chen on 8/12/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PickerAlertView.h" 10 | 11 | @implementation PickerAlertView 12 | 13 | @synthesize datePickerView; 14 | 15 | - (id)init 16 | { 17 | self = [super init]; 18 | if (self) { 19 | // Initialization code here. 20 | } 21 | 22 | return self; 23 | } 24 | 25 | - (id)initWithFrame:(CGRect)frame { 26 | if (self = [super initWithFrame:frame]) { 27 | [self createDatePicker]; 28 | } 29 | return self; 30 | } 31 | 32 | - (void)setFrame:(CGRect)rect { 33 | [super setFrame:CGRectMake(0, 0, 320, 300)];//width 默认 284 34 | self.center = CGPointMake(320/2, 280); 35 | } 36 | 37 | - (void)layoutSubviews { 38 | [super layoutSubviews]; 39 | for (UIView *view in self.subviews) { 40 | if (view.frame.size.height == 43) { 41 | view.frame = CGRectMake(view.frame.origin.x, 232, 127, 43); 42 | } 43 | } 44 | } 45 | 46 | - (void)drawRect:(CGRect)rect { 47 | [super drawRect:rect]; 48 | } 49 | 50 | #pragma mark - 51 | #pragma mark UIPickerView - Date/Time 52 | 53 | - (void)createDatePicker 54 | { 55 | datePickerView = [[UIDatePicker alloc] initWithFrame:CGRectZero]; 56 | datePickerView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin; 57 | datePickerView.frame = CGRectMake(10, 10, 300, 216);//216 58 | datePickerView.datePickerMode = UIDatePickerModeDate; 59 | 60 | [self addSubview:datePickerView]; 61 | } 62 | 63 | @end 64 | -------------------------------------------------------------------------------- /PickerAlertView/PickerAlertViewAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // PickerAlertViewAppDelegate.h 3 | // PickerAlertView 4 | // 5 | // Created by juxue.chen on 8/16/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PickerViewController.h" 11 | 12 | @interface PickerAlertViewAppDelegate : NSObject { 13 | UIWindow *window; 14 | PickerViewController * pickerViewController; 15 | } 16 | 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /PickerAlertView/PickerAlertViewAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // PickerAlertViewAppDelegate.m 3 | // PickerAlertView 4 | // 5 | // Created by juxue.chen on 8/16/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PickerAlertViewAppDelegate.h" 10 | 11 | 12 | @implementation PickerAlertViewAppDelegate 13 | 14 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 15 | { 16 | window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen]bounds]]; 17 | // Override point for customization after application launch. 18 | window.backgroundColor = [UIColor whiteColor]; 19 | 20 | pickerViewController = [[PickerViewController alloc ]init]; 21 | [window addSubview:pickerViewController.view]; 22 | 23 | [window makeKeyAndVisible]; 24 | return YES; 25 | } 26 | 27 | - (void)applicationWillResignActive:(UIApplication *)application 28 | { 29 | /* 30 | Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 31 | Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 32 | */ 33 | } 34 | 35 | - (void)applicationDidEnterBackground:(UIApplication *)application 36 | { 37 | /* 38 | Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 39 | If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 40 | */ 41 | } 42 | 43 | - (void)applicationWillEnterForeground:(UIApplication *)application 44 | { 45 | /* 46 | Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 47 | */ 48 | } 49 | 50 | - (void)applicationDidBecomeActive:(UIApplication *)application 51 | { 52 | /* 53 | Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 54 | */ 55 | } 56 | 57 | - (void)applicationWillTerminate:(UIApplication *)application 58 | { 59 | /* 60 | Called when the application is about to terminate. 61 | Save data if appropriate. 62 | See also applicationDidEnterBackground:. 63 | */ 64 | } 65 | 66 | - (void)dealloc { 67 | [pickerViewController release]; 68 | 69 | [super dealloc]; 70 | } 71 | 72 | @end 73 | -------------------------------------------------------------------------------- /PickerAlertView/PickerViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // PickerAlertView 4 | // 5 | // Created by juxue.chen on 8/16/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | 10 | @interface PickerViewController : UIViewController { 11 | UILabel *label; 12 | } 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /PickerAlertView/PickerViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // PickerAlertView 4 | // 5 | // Created by juxue.chen on 8/16/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PickerViewController.h" 10 | #import "PickerAlertView.h" 11 | 12 | @implementation PickerViewController 13 | 14 | - (id)init 15 | { 16 | self = [super init]; 17 | if (self) { 18 | // Initialization code here. 19 | } 20 | 21 | return self; 22 | } 23 | 24 | - (void) viewDidLoad { 25 | label = [[UILabel alloc] initWithFrame:CGRectMake(100, 50, 120, 40)]; 26 | label.text = @"日期"; 27 | [self.view addSubview:label]; 28 | [label release]; 29 | 30 | UIButton *button = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 31 | button.frame = CGRectMake(100, 50, 230, 40); 32 | [button addTarget:self action:@selector(pickerAction) forControlEvents:UIControlEventTouchUpInside]; 33 | [self.view addSubview:button]; 34 | 35 | } 36 | 37 | - (void)pickerAction { 38 | PickerAlertView *pickerAlertView = [[PickerAlertView alloc] initWithTitle:@" " message:@" " delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil]; 39 | [pickerAlertView show]; 40 | } 41 | 42 | #pragma mark UIAlertViewDelegate 43 | - (void)alertView:(PickerAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { 44 | NSString *dateFromData = [NSString stringWithFormat:@"%@",alertView.datePickerView.date]; 45 | NSString *date = [dateFromData substringWithRange:NSMakeRange(0, 10)]; 46 | label.text = date; 47 | NSLog(@"date %@...%@",date,alertView.datePickerView.date); 48 | } 49 | 50 | @end 51 | -------------------------------------------------------------------------------- /PickerAlertView/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /PickerAlertView/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // PickerAlertView 4 | // 5 | // Created by chenyang on 8/16/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "PickerAlertViewAppDelegate.h" 12 | 13 | int main(int argc, char *argv[]) 14 | { 15 | UIApplicationMain(argc, argv, nil, @"PickerAlertViewAppDelegate"); 16 | } 17 | -------------------------------------------------------------------------------- /PickerAlertViewTests/PickerAlertViewTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | notes.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /PickerAlertViewTests/PickerAlertViewTests.h: -------------------------------------------------------------------------------- 1 | // 2 | // PickerAlertViewTests.h 3 | // PickerAlertViewTests 4 | // 5 | // Created by chenyang on 8/16/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface PickerAlertViewTests : SenTestCase 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /PickerAlertViewTests/PickerAlertViewTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // PickerAlertViewTests.m 3 | // PickerAlertViewTests 4 | // 5 | // Created by chenyang on 8/16/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PickerAlertViewTests.h" 10 | 11 | @implementation PickerAlertViewTests 12 | 13 | - (void)setUp 14 | { 15 | [super setUp]; 16 | 17 | // Set-up code here. 18 | } 19 | 20 | - (void)tearDown 21 | { 22 | // Tear-down code here. 23 | 24 | [super tearDown]; 25 | } 26 | 27 | - (void)testExample 28 | { 29 | STFail(@"Unit tests are not implemented yet in PickerAlertViewTests"); 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /PickerAlertViewTests/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | --------------------------------------------------------------------------------