Prechádzať zdrojové kódy

Add UICatalog example project to demonstrate FLEX integration.

https://developer.apple.com/library/ios/samplecode/UICatalog/Introduction/Intro.html
Ryan Olson 12 rokov pred
rodič
commit
6b98f38a82
100 zmenil súbory, kde vykonal 10347 pridanie a 0 odobranie
  1. 50 0
      Example/ReadMe.txt
  2. 871 0
      Example/UICatalog.xcodeproj/project.pbxproj
  3. 7 0
      Example/UICatalog.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  4. 51 0
      Example/UICatalog/AAPLActionSheetViewController.h
  5. 124 0
      Example/UICatalog/AAPLActionSheetViewController.m
  6. 51 0
      Example/UICatalog/AAPLActivityIndicatorViewController.h
  7. 90 0
      Example/UICatalog/AAPLActivityIndicatorViewController.m
  8. 51 0
      Example/UICatalog/AAPLAlertViewController.h
  9. 183 0
      Example/UICatalog/AAPLAlertViewController.m
  10. 54 0
      Example/UICatalog/AAPLAppDelegate.h
  11. 51 0
      Example/UICatalog/AAPLAppDelegate.m
  12. 51 0
      Example/UICatalog/AAPLButtonViewController.h
  13. 133 0
      Example/UICatalog/AAPLButtonViewController.m
  14. 11 0
      Example/UICatalog/AAPLCatalogTableTableViewController.h
  15. 29 0
      Example/UICatalog/AAPLCatalogTableTableViewController.m
  16. 51 0
      Example/UICatalog/AAPLCustomSearchBarViewController.h
  17. 105 0
      Example/UICatalog/AAPLCustomSearchBarViewController.m
  18. 51 0
      Example/UICatalog/AAPLCustomToolbarViewController.h
  19. 109 0
      Example/UICatalog/AAPLCustomToolbarViewController.m
  20. 51 0
      Example/UICatalog/AAPLDatePickerController.h
  21. 109 0
      Example/UICatalog/AAPLDatePickerController.m
  22. 51 0
      Example/UICatalog/AAPLDefaultSearchBarViewController.h
  23. 99 0
      Example/UICatalog/AAPLDefaultSearchBarViewController.m
  24. 51 0
      Example/UICatalog/AAPLDefaultToolbarViewController.h
  25. 99 0
      Example/UICatalog/AAPLDefaultToolbarViewController.m
  26. 51 0
      Example/UICatalog/AAPLImageViewController.h
  27. 79 0
      Example/UICatalog/AAPLImageViewController.m
  28. 51 0
      Example/UICatalog/AAPLMasterViewController.h
  29. 85 0
      Example/UICatalog/AAPLMasterViewController.m
  30. 51 0
      Example/UICatalog/AAPLPageControlViewController.h
  31. 98 0
      Example/UICatalog/AAPLPageControlViewController.m
  32. 51 0
      Example/UICatalog/AAPLPickerViewController.h
  33. 239 0
      Example/UICatalog/AAPLPickerViewController.m
  34. 51 0
      Example/UICatalog/AAPLProgressViewController.h
  35. 136 0
      Example/UICatalog/AAPLProgressViewController.m
  36. 51 0
      Example/UICatalog/AAPLSegmentedControlViewController.h
  37. 145 0
      Example/UICatalog/AAPLSegmentedControlViewController.m
  38. 51 0
      Example/UICatalog/AAPLSliderViewController.h
  39. 115 0
      Example/UICatalog/AAPLSliderViewController.m
  40. 51 0
      Example/UICatalog/AAPLSplitViewControllerDelegate.h
  41. 78 0
      Example/UICatalog/AAPLSplitViewControllerDelegate.m
  42. 51 0
      Example/UICatalog/AAPLStepperViewController.h
  43. 135 0
      Example/UICatalog/AAPLStepperViewController.m
  44. 51 0
      Example/UICatalog/AAPLSwitchViewController.h
  45. 93 0
      Example/UICatalog/AAPLSwitchViewController.m
  46. 51 0
      Example/UICatalog/AAPLTextFieldViewController.h
  47. 157 0
      Example/UICatalog/AAPLTextFieldViewController.m
  48. 51 0
      Example/UICatalog/AAPLTextViewController.h
  49. 216 0
      Example/UICatalog/AAPLTextViewController.m
  50. 51 0
      Example/UICatalog/AAPLTintedToolbarViewController.h
  51. 103 0
      Example/UICatalog/AAPLTintedToolbarViewController.m
  52. 51 0
      Example/UICatalog/AAPLWebViewController.h
  53. 126 0
      Example/UICatalog/AAPLWebViewController.m
  54. 2608 0
      Example/UICatalog/Base.lproj/Main_iPad.storyboard
  55. 2250 0
      Example/UICatalog/Base.lproj/Main_iPhone.storyboard
  56. 53 0
      Example/UICatalog/Images.xcassets/AppIcon.appiconset/Contents.json
  57. 51 0
      Example/UICatalog/Images.xcassets/LaunchImage.launchimage/Contents.json
  58. 18 0
      Example/UICatalog/Images.xcassets/bookmark_icon.imageset/Contents.json
  59. BIN
      Example/UICatalog/Images.xcassets/bookmark_icon.imageset/bookmark_icon_1x.png
  60. BIN
      Example/UICatalog/Images.xcassets/bookmark_icon.imageset/bookmark_icon_2x.png
  61. 18 0
      Example/UICatalog/Images.xcassets/bookmark_icon_highlighted.imageset/Contents.json
  62. BIN
      Example/UICatalog/Images.xcassets/bookmark_icon_highlighted.imageset/bookmark_icon_highlighted_1x.png
  63. BIN
      Example/UICatalog/Images.xcassets/bookmark_icon_highlighted.imageset/bookmark_icon_highlighted_2x.png
  64. 18 0
      Example/UICatalog/Images.xcassets/checkmark_icon.imageset/Contents.json
  65. BIN
      Example/UICatalog/Images.xcassets/checkmark_icon.imageset/checkmark_icon_1x.png
  66. BIN
      Example/UICatalog/Images.xcassets/checkmark_icon.imageset/checkmark_icon_2x.png
  67. 17 0
      Example/UICatalog/Images.xcassets/image_animal_1.imageset/Contents.json
  68. BIN
      Example/UICatalog/Images.xcassets/image_animal_1.imageset/image_animal_5.png
  69. 17 0
      Example/UICatalog/Images.xcassets/image_animal_2.imageset/Contents.json
  70. BIN
      Example/UICatalog/Images.xcassets/image_animal_2.imageset/image_animal_2.png
  71. 17 0
      Example/UICatalog/Images.xcassets/image_animal_3.imageset/Contents.json
  72. BIN
      Example/UICatalog/Images.xcassets/image_animal_3.imageset/image_animal_3.png
  73. 17 0
      Example/UICatalog/Images.xcassets/image_animal_4.imageset/Contents.json
  74. BIN
      Example/UICatalog/Images.xcassets/image_animal_4.imageset/image_animal_4.png
  75. 17 0
      Example/UICatalog/Images.xcassets/image_animal_5.imageset/Contents.json
  76. BIN
      Example/UICatalog/Images.xcassets/image_animal_5.imageset/image_animal_1.png
  77. 18 0
      Example/UICatalog/Images.xcassets/search_bar_background.imageset/Contents.json
  78. BIN
      Example/UICatalog/Images.xcassets/search_bar_background.imageset/search_bar_bg_1x.png
  79. BIN
      Example/UICatalog/Images.xcassets/search_bar_background.imageset/search_bar_bg_2x.png
  80. 18 0
      Example/UICatalog/Images.xcassets/search_icon.imageset/Contents.json
  81. BIN
      Example/UICatalog/Images.xcassets/search_icon.imageset/search_icon_1x.png
  82. BIN
      Example/UICatalog/Images.xcassets/search_icon.imageset/search_icon_2x.png
  83. 18 0
      Example/UICatalog/Images.xcassets/slider_blue_track.imageset/Contents.json
  84. BIN
      Example/UICatalog/Images.xcassets/slider_blue_track.imageset/slider_blue_track_1x.png
  85. BIN
      Example/UICatalog/Images.xcassets/slider_blue_track.imageset/slider_blue_track_2x.png
  86. 18 0
      Example/UICatalog/Images.xcassets/slider_green_track.imageset/Contents.json
  87. BIN
      Example/UICatalog/Images.xcassets/slider_green_track.imageset/slider_green_track_1x.png
  88. BIN
      Example/UICatalog/Images.xcassets/slider_green_track.imageset/slider_green_track_2x.png
  89. 18 0
      Example/UICatalog/Images.xcassets/slider_thumb.imageset/Contents.json
  90. BIN
      Example/UICatalog/Images.xcassets/slider_thumb.imageset/slider_thumb_1x.png
  91. BIN
      Example/UICatalog/Images.xcassets/slider_thumb.imageset/slider_thumb_2x.png
  92. 18 0
      Example/UICatalog/Images.xcassets/stepper_and_segment_background.imageset/Contents.json
  93. BIN
      Example/UICatalog/Images.xcassets/stepper_and_segment_background.imageset/stepper_and_segment_background_1x.png
  94. BIN
      Example/UICatalog/Images.xcassets/stepper_and_segment_background.imageset/stepper_and_segment_background_2x.png
  95. 18 0
      Example/UICatalog/Images.xcassets/stepper_and_segment_background_disabled.imageset/Contents.json
  96. BIN
      Example/UICatalog/Images.xcassets/stepper_and_segment_background_disabled.imageset/stepper_and_segment_background_disabled_1x.png
  97. BIN
      Example/UICatalog/Images.xcassets/stepper_and_segment_background_disabled.imageset/stepper_and_segment_background_disabled_2x.png
  98. 18 0
      Example/UICatalog/Images.xcassets/stepper_and_segment_background_highlighted.imageset/Contents.json
  99. BIN
      Example/UICatalog/Images.xcassets/stepper_and_segment_background_highlighted.imageset/stepper_and_segment_background_highlighted_1x.png
  100. 0 0
      Example/UICatalog/Images.xcassets/stepper_and_segment_background_highlighted.imageset/stepper_and_segment_background_highlighted_2x.png

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 50 - 0
Example/ReadMe.txt


+ 871 - 0
Example/UICatalog.xcodeproj/project.pbxproj

@@ -0,0 +1,871 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 46;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		3EC6487318FF8A5000024205 /* ReadMe.txt in Resources */ = {isa = PBXBuildFile; fileRef = 3EC6487218FF8A5000024205 /* ReadMe.txt */; };
+		5356823E18F3656900BAAD62 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5356823D18F3656900BAAD62 /* Foundation.framework */; };
+		5356824018F3656900BAAD62 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5356823F18F3656900BAAD62 /* CoreGraphics.framework */; };
+		5356824218F3656900BAAD62 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5356824118F3656900BAAD62 /* UIKit.framework */; };
+		5356824A18F3656900BAAD62 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356824918F3656900BAAD62 /* main.m */; };
+		5356825118F3656900BAAD62 /* Main_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5356824F18F3656900BAAD62 /* Main_iPhone.storyboard */; };
+		5356825418F3656900BAAD62 /* Main_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5356825218F3656900BAAD62 /* Main_iPad.storyboard */; };
+		5356825918F3656900BAAD62 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5356825818F3656900BAAD62 /* Images.xcassets */; };
+		535682A718F3670300BAAD62 /* AAPLActionSheetViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356827618F3670200BAAD62 /* AAPLActionSheetViewController.m */; };
+		535682A818F3670300BAAD62 /* AAPLActivityIndicatorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356827818F3670300BAAD62 /* AAPLActivityIndicatorViewController.m */; };
+		535682A918F3670300BAAD62 /* AAPLAlertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356827A18F3670300BAAD62 /* AAPLAlertViewController.m */; };
+		535682AA18F3670300BAAD62 /* AAPLAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356827C18F3670300BAAD62 /* AAPLAppDelegate.m */; };
+		535682AB18F3670300BAAD62 /* AAPLButtonViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356827E18F3670300BAAD62 /* AAPLButtonViewController.m */; };
+		535682AC18F3670300BAAD62 /* AAPLCustomSearchBarViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356828018F3670300BAAD62 /* AAPLCustomSearchBarViewController.m */; };
+		535682AD18F3670300BAAD62 /* AAPLCustomToolbarViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356828218F3670300BAAD62 /* AAPLCustomToolbarViewController.m */; };
+		535682AE18F3670300BAAD62 /* AAPLDatePickerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356828418F3670300BAAD62 /* AAPLDatePickerController.m */; };
+		535682AF18F3670300BAAD62 /* AAPLDefaultSearchBarViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356828618F3670300BAAD62 /* AAPLDefaultSearchBarViewController.m */; };
+		535682B018F3670300BAAD62 /* AAPLDefaultToolbarViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356828818F3670300BAAD62 /* AAPLDefaultToolbarViewController.m */; };
+		535682B118F3670300BAAD62 /* AAPLImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356828A18F3670300BAAD62 /* AAPLImageViewController.m */; };
+		535682B218F3670300BAAD62 /* AAPLMasterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356828C18F3670300BAAD62 /* AAPLMasterViewController.m */; };
+		535682B318F3670300BAAD62 /* AAPLPageControlViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356828E18F3670300BAAD62 /* AAPLPageControlViewController.m */; };
+		535682B418F3670300BAAD62 /* AAPLPickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356829018F3670300BAAD62 /* AAPLPickerViewController.m */; };
+		535682B518F3670300BAAD62 /* AAPLProgressViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356829218F3670300BAAD62 /* AAPLProgressViewController.m */; };
+		535682B618F3670300BAAD62 /* AAPLSegmentedControlViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356829418F3670300BAAD62 /* AAPLSegmentedControlViewController.m */; };
+		535682B718F3670300BAAD62 /* AAPLSliderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356829618F3670300BAAD62 /* AAPLSliderViewController.m */; };
+		535682B818F3670300BAAD62 /* AAPLSplitViewControllerDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356829818F3670300BAAD62 /* AAPLSplitViewControllerDelegate.m */; };
+		535682B918F3670300BAAD62 /* AAPLStepperViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356829A18F3670300BAAD62 /* AAPLStepperViewController.m */; };
+		535682BA18F3670300BAAD62 /* AAPLSwitchViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356829C18F3670300BAAD62 /* AAPLSwitchViewController.m */; };
+		535682BB18F3670300BAAD62 /* AAPLTextFieldViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356829E18F3670300BAAD62 /* AAPLTextFieldViewController.m */; };
+		535682BC18F3670300BAAD62 /* AAPLTextViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 535682A018F3670300BAAD62 /* AAPLTextViewController.m */; };
+		535682BD18F3670300BAAD62 /* AAPLTintedToolbarViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 535682A218F3670300BAAD62 /* AAPLTintedToolbarViewController.m */; };
+		535682BE18F3670300BAAD62 /* AAPLWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 535682A418F3670300BAAD62 /* AAPLWebViewController.m */; };
+		535682BF18F3670300BAAD62 /* UIColor+AAPLApplicationSpecific.m in Sources */ = {isa = PBXBuildFile; fileRef = 535682A618F3670300BAAD62 /* UIColor+AAPLApplicationSpecific.m */; };
+		53874F9918F36B1800510922 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 53874F9718F36B1800510922 /* Localizable.strings */; };
+		943203FE1978F42F00E24DB3 /* AAPLCatalogTableTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 943203FD1978F42F00E24DB3 /* AAPLCatalogTableTableViewController.m */; };
+		944F7489197B458C009AB039 /* FLEXArrayExplorerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7426197B458C009AB039 /* FLEXArrayExplorerViewController.m */; };
+		944F748A197B458C009AB039 /* FLEXClassExplorerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7428197B458C009AB039 /* FLEXClassExplorerViewController.m */; };
+		944F748B197B458C009AB039 /* FLEXDefaultsExplorerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F742A197B458C009AB039 /* FLEXDefaultsExplorerViewController.m */; };
+		944F748C197B458C009AB039 /* FLEXDescriptionTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F742C197B458C009AB039 /* FLEXDescriptionTableViewCell.m */; };
+		944F748D197B458C009AB039 /* FLEXDictionaryExplorerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F742E197B458C009AB039 /* FLEXDictionaryExplorerViewController.m */; };
+		944F748E197B458C009AB039 /* FLEXImageExplorerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7430197B458C009AB039 /* FLEXImageExplorerViewController.m */; };
+		944F748F197B458C009AB039 /* FLEXObjectExplorerFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7432197B458C009AB039 /* FLEXObjectExplorerFactory.m */; };
+		944F7490197B458C009AB039 /* FLEXObjectExplorerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7434197B458C009AB039 /* FLEXObjectExplorerViewController.m */; };
+		944F7491197B458C009AB039 /* FLEXSetExplorerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7436197B458C009AB039 /* FLEXSetExplorerViewController.m */; };
+		944F7492197B458C009AB039 /* FLEXViewControllerExplorerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7438197B458C009AB039 /* FLEXViewControllerExplorerViewController.m */; };
+		944F7493197B458C009AB039 /* FLEXViewExplorerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F743A197B458C009AB039 /* FLEXViewExplorerViewController.m */; };
+		944F7494197B458C009AB039 /* FLEXHeapEnumerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F743D197B458C009AB039 /* FLEXHeapEnumerator.m */; };
+		944F7495197B458C009AB039 /* FLEXResources.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F743F197B458C009AB039 /* FLEXResources.m */; };
+		944F7496197B458C009AB039 /* FLEXRuntimeUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7441197B458C009AB039 /* FLEXRuntimeUtility.m */; };
+		944F7497197B458C009AB039 /* FLEXUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7443197B458C009AB039 /* FLEXUtility.m */; };
+		944F7498197B458C009AB039 /* FLEXArgumentInputColorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7447197B458C009AB039 /* FLEXArgumentInputColorView.m */; };
+		944F7499197B458C009AB039 /* FLEXArgumentInputFontView.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7449197B458C009AB039 /* FLEXArgumentInputFontView.m */; };
+		944F749A197B458C009AB039 /* FLEXArgumentInputJSONObjectView.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F744B197B458C009AB039 /* FLEXArgumentInputJSONObjectView.m */; };
+		944F749B197B458C009AB039 /* FLEXArgumentInputNotSupportedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F744D197B458C009AB039 /* FLEXArgumentInputNotSupportedView.m */; };
+		944F749C197B458C009AB039 /* FLEXArgumentInputNumberView.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F744F197B458C009AB039 /* FLEXArgumentInputNumberView.m */; };
+		944F749D197B458C009AB039 /* FLEXArgumentInputStringView.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7451197B458C009AB039 /* FLEXArgumentInputStringView.m */; };
+		944F749E197B458C009AB039 /* FLEXArgumentInputStructView.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7453197B458C009AB039 /* FLEXArgumentInputStructView.m */; };
+		944F749F197B458C009AB039 /* FLEXArgumentInputSwitchView.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7455197B458C009AB039 /* FLEXArgumentInputSwitchView.m */; };
+		944F74A0197B458C009AB039 /* FLEXArgumentInputTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7457197B458C009AB039 /* FLEXArgumentInputTextView.m */; };
+		944F74A1197B458C009AB039 /* FLEXArgumentInputView.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7459197B458C009AB039 /* FLEXArgumentInputView.m */; };
+		944F74A2197B458C009AB039 /* FLEXArgumentInputViewFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F745B197B458C009AB039 /* FLEXArgumentInputViewFactory.m */; };
+		944F74A3197B458C009AB039 /* FLEXDefaultEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F745D197B458C009AB039 /* FLEXDefaultEditorViewController.m */; };
+		944F74A4197B458C009AB039 /* FLEXFieldEditorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F745F197B458C009AB039 /* FLEXFieldEditorView.m */; };
+		944F74A5197B458C009AB039 /* FLEXFieldEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7461197B458C009AB039 /* FLEXFieldEditorViewController.m */; };
+		944F74A6197B458C009AB039 /* FLEXIvarEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7463197B458C009AB039 /* FLEXIvarEditorViewController.m */; };
+		944F74A7197B458C009AB039 /* FLEXMethodCallingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7465197B458C009AB039 /* FLEXMethodCallingViewController.m */; };
+		944F74A8197B458C009AB039 /* FLEXPropertyEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7467197B458C009AB039 /* FLEXPropertyEditorViewController.m */; };
+		944F74A9197B458C009AB039 /* FLEXExplorerToolbar.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F746A197B458C009AB039 /* FLEXExplorerToolbar.m */; };
+		944F74AA197B458C009AB039 /* FLEXExplorerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F746C197B458C009AB039 /* FLEXExplorerViewController.m */; };
+		944F74AB197B458C009AB039 /* FLEXManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F746E197B458C009AB039 /* FLEXManager.m */; };
+		944F74AC197B458C009AB039 /* FLEXToolbarItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7470197B458C009AB039 /* FLEXToolbarItem.m */; };
+		944F74AD197B458C009AB039 /* FLEXWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7472197B458C009AB039 /* FLEXWindow.m */; };
+		944F74AE197B458C009AB039 /* FLEXClassesTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7475197B458C009AB039 /* FLEXClassesTableViewController.m */; };
+		944F74AF197B458C009AB039 /* FLEXFileBrowserTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7477197B458C009AB039 /* FLEXFileBrowserTableViewController.m */; };
+		944F74B0197B458C009AB039 /* FLEXGlobalsTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7479197B458C009AB039 /* FLEXGlobalsTableViewController.m */; };
+		944F74B1197B458C009AB039 /* FLEXInstancesTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F747B197B458C009AB039 /* FLEXInstancesTableViewController.m */; };
+		944F74B2197B458C009AB039 /* FLEXLibrariesTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F747D197B458C009AB039 /* FLEXLibrariesTableViewController.m */; };
+		944F74B3197B458C009AB039 /* FLEXLiveObjectsTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F747F197B458C009AB039 /* FLEXLiveObjectsTableViewController.m */; };
+		944F74B4197B458C009AB039 /* FLEXWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7481197B458C009AB039 /* FLEXWebViewController.m */; };
+		944F74B5197B458C009AB039 /* FLEXHierarchyTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7484197B458C009AB039 /* FLEXHierarchyTableViewCell.m */; };
+		944F74B6197B458C009AB039 /* FLEXHierarchyTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7486197B458C009AB039 /* FLEXHierarchyTableViewController.m */; };
+		944F74B7197B458C009AB039 /* FLEXImagePreviewViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944F7488197B458C009AB039 /* FLEXImagePreviewViewController.m */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+		3EC6487218FF8A5000024205 /* ReadMe.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadMe.txt; sourceTree = SOURCE_ROOT; };
+		5356823A18F3656900BAAD62 /* UICatalog.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = UICatalog.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		5356823D18F3656900BAAD62 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+		5356823F18F3656900BAAD62 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+		5356824118F3656900BAAD62 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+		5356824518F3656900BAAD62 /* UICatalog-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "UICatalog-Info.plist"; sourceTree = "<group>"; };
+		5356824918F3656900BAAD62 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+		5356824B18F3656900BAAD62 /* UICatalog-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UICatalog-Prefix.pch"; sourceTree = "<group>"; };
+		5356825018F3656900BAAD62 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main_iPhone.storyboard; sourceTree = "<group>"; };
+		5356825318F3656900BAAD62 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main_iPad.storyboard; sourceTree = "<group>"; };
+		5356825818F3656900BAAD62 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
+		5356827518F3670200BAAD62 /* AAPLActionSheetViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLActionSheetViewController.h; sourceTree = "<group>"; };
+		5356827618F3670200BAAD62 /* AAPLActionSheetViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLActionSheetViewController.m; sourceTree = "<group>"; };
+		5356827718F3670200BAAD62 /* AAPLActivityIndicatorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLActivityIndicatorViewController.h; sourceTree = "<group>"; };
+		5356827818F3670300BAAD62 /* AAPLActivityIndicatorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLActivityIndicatorViewController.m; sourceTree = "<group>"; };
+		5356827918F3670300BAAD62 /* AAPLAlertViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLAlertViewController.h; sourceTree = "<group>"; };
+		5356827A18F3670300BAAD62 /* AAPLAlertViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLAlertViewController.m; sourceTree = "<group>"; };
+		5356827B18F3670300BAAD62 /* AAPLAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLAppDelegate.h; sourceTree = "<group>"; };
+		5356827C18F3670300BAAD62 /* AAPLAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLAppDelegate.m; sourceTree = "<group>"; };
+		5356827D18F3670300BAAD62 /* AAPLButtonViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLButtonViewController.h; sourceTree = "<group>"; };
+		5356827E18F3670300BAAD62 /* AAPLButtonViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLButtonViewController.m; sourceTree = "<group>"; };
+		5356827F18F3670300BAAD62 /* AAPLCustomSearchBarViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLCustomSearchBarViewController.h; sourceTree = "<group>"; };
+		5356828018F3670300BAAD62 /* AAPLCustomSearchBarViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLCustomSearchBarViewController.m; sourceTree = "<group>"; };
+		5356828118F3670300BAAD62 /* AAPLCustomToolbarViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLCustomToolbarViewController.h; sourceTree = "<group>"; };
+		5356828218F3670300BAAD62 /* AAPLCustomToolbarViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLCustomToolbarViewController.m; sourceTree = "<group>"; };
+		5356828318F3670300BAAD62 /* AAPLDatePickerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLDatePickerController.h; sourceTree = "<group>"; };
+		5356828418F3670300BAAD62 /* AAPLDatePickerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLDatePickerController.m; sourceTree = "<group>"; };
+		5356828518F3670300BAAD62 /* AAPLDefaultSearchBarViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLDefaultSearchBarViewController.h; sourceTree = "<group>"; };
+		5356828618F3670300BAAD62 /* AAPLDefaultSearchBarViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLDefaultSearchBarViewController.m; sourceTree = "<group>"; };
+		5356828718F3670300BAAD62 /* AAPLDefaultToolbarViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLDefaultToolbarViewController.h; sourceTree = "<group>"; };
+		5356828818F3670300BAAD62 /* AAPLDefaultToolbarViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLDefaultToolbarViewController.m; sourceTree = "<group>"; };
+		5356828918F3670300BAAD62 /* AAPLImageViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLImageViewController.h; sourceTree = "<group>"; };
+		5356828A18F3670300BAAD62 /* AAPLImageViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLImageViewController.m; sourceTree = "<group>"; };
+		5356828B18F3670300BAAD62 /* AAPLMasterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLMasterViewController.h; sourceTree = "<group>"; };
+		5356828C18F3670300BAAD62 /* AAPLMasterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLMasterViewController.m; sourceTree = "<group>"; };
+		5356828D18F3670300BAAD62 /* AAPLPageControlViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLPageControlViewController.h; sourceTree = "<group>"; };
+		5356828E18F3670300BAAD62 /* AAPLPageControlViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLPageControlViewController.m; sourceTree = "<group>"; };
+		5356828F18F3670300BAAD62 /* AAPLPickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLPickerViewController.h; sourceTree = "<group>"; };
+		5356829018F3670300BAAD62 /* AAPLPickerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLPickerViewController.m; sourceTree = "<group>"; };
+		5356829118F3670300BAAD62 /* AAPLProgressViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLProgressViewController.h; sourceTree = "<group>"; };
+		5356829218F3670300BAAD62 /* AAPLProgressViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLProgressViewController.m; sourceTree = "<group>"; };
+		5356829318F3670300BAAD62 /* AAPLSegmentedControlViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLSegmentedControlViewController.h; sourceTree = "<group>"; };
+		5356829418F3670300BAAD62 /* AAPLSegmentedControlViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLSegmentedControlViewController.m; sourceTree = "<group>"; };
+		5356829518F3670300BAAD62 /* AAPLSliderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLSliderViewController.h; sourceTree = "<group>"; };
+		5356829618F3670300BAAD62 /* AAPLSliderViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLSliderViewController.m; sourceTree = "<group>"; };
+		5356829718F3670300BAAD62 /* AAPLSplitViewControllerDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLSplitViewControllerDelegate.h; sourceTree = "<group>"; };
+		5356829818F3670300BAAD62 /* AAPLSplitViewControllerDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLSplitViewControllerDelegate.m; sourceTree = "<group>"; };
+		5356829918F3670300BAAD62 /* AAPLStepperViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLStepperViewController.h; sourceTree = "<group>"; };
+		5356829A18F3670300BAAD62 /* AAPLStepperViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLStepperViewController.m; sourceTree = "<group>"; };
+		5356829B18F3670300BAAD62 /* AAPLSwitchViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLSwitchViewController.h; sourceTree = "<group>"; };
+		5356829C18F3670300BAAD62 /* AAPLSwitchViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLSwitchViewController.m; sourceTree = "<group>"; };
+		5356829D18F3670300BAAD62 /* AAPLTextFieldViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLTextFieldViewController.h; sourceTree = "<group>"; };
+		5356829E18F3670300BAAD62 /* AAPLTextFieldViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLTextFieldViewController.m; sourceTree = "<group>"; };
+		5356829F18F3670300BAAD62 /* AAPLTextViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLTextViewController.h; sourceTree = "<group>"; };
+		535682A018F3670300BAAD62 /* AAPLTextViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLTextViewController.m; sourceTree = "<group>"; };
+		535682A118F3670300BAAD62 /* AAPLTintedToolbarViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLTintedToolbarViewController.h; sourceTree = "<group>"; };
+		535682A218F3670300BAAD62 /* AAPLTintedToolbarViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLTintedToolbarViewController.m; sourceTree = "<group>"; };
+		535682A318F3670300BAAD62 /* AAPLWebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLWebViewController.h; sourceTree = "<group>"; };
+		535682A418F3670300BAAD62 /* AAPLWebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLWebViewController.m; sourceTree = "<group>"; };
+		535682A518F3670300BAAD62 /* UIColor+AAPLApplicationSpecific.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+AAPLApplicationSpecific.h"; sourceTree = "<group>"; };
+		535682A618F3670300BAAD62 /* UIColor+AAPLApplicationSpecific.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+AAPLApplicationSpecific.m"; sourceTree = "<group>"; };
+		53874F9818F36B1800510922 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
+		943203FC1978F42F00E24DB3 /* AAPLCatalogTableTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLCatalogTableTableViewController.h; sourceTree = "<group>"; };
+		943203FD1978F42F00E24DB3 /* AAPLCatalogTableTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLCatalogTableTableViewController.m; sourceTree = "<group>"; };
+		944F7425197B458C009AB039 /* FLEXArrayExplorerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXArrayExplorerViewController.h; sourceTree = "<group>"; };
+		944F7426197B458C009AB039 /* FLEXArrayExplorerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXArrayExplorerViewController.m; sourceTree = "<group>"; };
+		944F7427197B458C009AB039 /* FLEXClassExplorerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXClassExplorerViewController.h; sourceTree = "<group>"; };
+		944F7428197B458C009AB039 /* FLEXClassExplorerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXClassExplorerViewController.m; sourceTree = "<group>"; };
+		944F7429197B458C009AB039 /* FLEXDefaultsExplorerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXDefaultsExplorerViewController.h; sourceTree = "<group>"; };
+		944F742A197B458C009AB039 /* FLEXDefaultsExplorerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXDefaultsExplorerViewController.m; sourceTree = "<group>"; };
+		944F742B197B458C009AB039 /* FLEXDescriptionTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXDescriptionTableViewCell.h; sourceTree = "<group>"; };
+		944F742C197B458C009AB039 /* FLEXDescriptionTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXDescriptionTableViewCell.m; sourceTree = "<group>"; };
+		944F742D197B458C009AB039 /* FLEXDictionaryExplorerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXDictionaryExplorerViewController.h; sourceTree = "<group>"; };
+		944F742E197B458C009AB039 /* FLEXDictionaryExplorerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXDictionaryExplorerViewController.m; sourceTree = "<group>"; };
+		944F742F197B458C009AB039 /* FLEXImageExplorerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXImageExplorerViewController.h; sourceTree = "<group>"; };
+		944F7430197B458C009AB039 /* FLEXImageExplorerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXImageExplorerViewController.m; sourceTree = "<group>"; };
+		944F7431197B458C009AB039 /* FLEXObjectExplorerFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXObjectExplorerFactory.h; sourceTree = "<group>"; };
+		944F7432197B458C009AB039 /* FLEXObjectExplorerFactory.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXObjectExplorerFactory.m; sourceTree = "<group>"; };
+		944F7433197B458C009AB039 /* FLEXObjectExplorerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXObjectExplorerViewController.h; sourceTree = "<group>"; };
+		944F7434197B458C009AB039 /* FLEXObjectExplorerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXObjectExplorerViewController.m; sourceTree = "<group>"; };
+		944F7435197B458C009AB039 /* FLEXSetExplorerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXSetExplorerViewController.h; sourceTree = "<group>"; };
+		944F7436197B458C009AB039 /* FLEXSetExplorerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXSetExplorerViewController.m; sourceTree = "<group>"; };
+		944F7437197B458C009AB039 /* FLEXViewControllerExplorerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXViewControllerExplorerViewController.h; sourceTree = "<group>"; };
+		944F7438197B458C009AB039 /* FLEXViewControllerExplorerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXViewControllerExplorerViewController.m; sourceTree = "<group>"; };
+		944F7439197B458C009AB039 /* FLEXViewExplorerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXViewExplorerViewController.h; sourceTree = "<group>"; };
+		944F743A197B458C009AB039 /* FLEXViewExplorerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXViewExplorerViewController.m; sourceTree = "<group>"; };
+		944F743C197B458C009AB039 /* FLEXHeapEnumerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXHeapEnumerator.h; sourceTree = "<group>"; };
+		944F743D197B458C009AB039 /* FLEXHeapEnumerator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXHeapEnumerator.m; sourceTree = "<group>"; };
+		944F743E197B458C009AB039 /* FLEXResources.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXResources.h; sourceTree = "<group>"; };
+		944F743F197B458C009AB039 /* FLEXResources.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXResources.m; sourceTree = "<group>"; };
+		944F7440197B458C009AB039 /* FLEXRuntimeUtility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXRuntimeUtility.h; sourceTree = "<group>"; };
+		944F7441197B458C009AB039 /* FLEXRuntimeUtility.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXRuntimeUtility.m; sourceTree = "<group>"; };
+		944F7442197B458C009AB039 /* FLEXUtility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXUtility.h; sourceTree = "<group>"; };
+		944F7443197B458C009AB039 /* FLEXUtility.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXUtility.m; sourceTree = "<group>"; };
+		944F7446197B458C009AB039 /* FLEXArgumentInputColorView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXArgumentInputColorView.h; sourceTree = "<group>"; };
+		944F7447197B458C009AB039 /* FLEXArgumentInputColorView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXArgumentInputColorView.m; sourceTree = "<group>"; };
+		944F7448197B458C009AB039 /* FLEXArgumentInputFontView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXArgumentInputFontView.h; sourceTree = "<group>"; };
+		944F7449197B458C009AB039 /* FLEXArgumentInputFontView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXArgumentInputFontView.m; sourceTree = "<group>"; };
+		944F744A197B458C009AB039 /* FLEXArgumentInputJSONObjectView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXArgumentInputJSONObjectView.h; sourceTree = "<group>"; };
+		944F744B197B458C009AB039 /* FLEXArgumentInputJSONObjectView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXArgumentInputJSONObjectView.m; sourceTree = "<group>"; };
+		944F744C197B458C009AB039 /* FLEXArgumentInputNotSupportedView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXArgumentInputNotSupportedView.h; sourceTree = "<group>"; };
+		944F744D197B458C009AB039 /* FLEXArgumentInputNotSupportedView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXArgumentInputNotSupportedView.m; sourceTree = "<group>"; };
+		944F744E197B458C009AB039 /* FLEXArgumentInputNumberView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXArgumentInputNumberView.h; sourceTree = "<group>"; };
+		944F744F197B458C009AB039 /* FLEXArgumentInputNumberView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXArgumentInputNumberView.m; sourceTree = "<group>"; };
+		944F7450197B458C009AB039 /* FLEXArgumentInputStringView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXArgumentInputStringView.h; sourceTree = "<group>"; };
+		944F7451197B458C009AB039 /* FLEXArgumentInputStringView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXArgumentInputStringView.m; sourceTree = "<group>"; };
+		944F7452197B458C009AB039 /* FLEXArgumentInputStructView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXArgumentInputStructView.h; sourceTree = "<group>"; };
+		944F7453197B458C009AB039 /* FLEXArgumentInputStructView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXArgumentInputStructView.m; sourceTree = "<group>"; };
+		944F7454197B458C009AB039 /* FLEXArgumentInputSwitchView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXArgumentInputSwitchView.h; sourceTree = "<group>"; };
+		944F7455197B458C009AB039 /* FLEXArgumentInputSwitchView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXArgumentInputSwitchView.m; sourceTree = "<group>"; };
+		944F7456197B458C009AB039 /* FLEXArgumentInputTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXArgumentInputTextView.h; sourceTree = "<group>"; };
+		944F7457197B458C009AB039 /* FLEXArgumentInputTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXArgumentInputTextView.m; sourceTree = "<group>"; };
+		944F7458197B458C009AB039 /* FLEXArgumentInputView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXArgumentInputView.h; sourceTree = "<group>"; };
+		944F7459197B458C009AB039 /* FLEXArgumentInputView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXArgumentInputView.m; sourceTree = "<group>"; };
+		944F745A197B458C009AB039 /* FLEXArgumentInputViewFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXArgumentInputViewFactory.h; sourceTree = "<group>"; };
+		944F745B197B458C009AB039 /* FLEXArgumentInputViewFactory.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXArgumentInputViewFactory.m; sourceTree = "<group>"; };
+		944F745C197B458C009AB039 /* FLEXDefaultEditorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXDefaultEditorViewController.h; sourceTree = "<group>"; };
+		944F745D197B458C009AB039 /* FLEXDefaultEditorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXDefaultEditorViewController.m; sourceTree = "<group>"; };
+		944F745E197B458C009AB039 /* FLEXFieldEditorView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXFieldEditorView.h; sourceTree = "<group>"; };
+		944F745F197B458C009AB039 /* FLEXFieldEditorView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXFieldEditorView.m; sourceTree = "<group>"; };
+		944F7460197B458C009AB039 /* FLEXFieldEditorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXFieldEditorViewController.h; sourceTree = "<group>"; };
+		944F7461197B458C009AB039 /* FLEXFieldEditorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXFieldEditorViewController.m; sourceTree = "<group>"; };
+		944F7462197B458C009AB039 /* FLEXIvarEditorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXIvarEditorViewController.h; sourceTree = "<group>"; };
+		944F7463197B458C009AB039 /* FLEXIvarEditorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXIvarEditorViewController.m; sourceTree = "<group>"; };
+		944F7464197B458C009AB039 /* FLEXMethodCallingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXMethodCallingViewController.h; sourceTree = "<group>"; };
+		944F7465197B458C009AB039 /* FLEXMethodCallingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXMethodCallingViewController.m; sourceTree = "<group>"; };
+		944F7466197B458C009AB039 /* FLEXPropertyEditorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXPropertyEditorViewController.h; sourceTree = "<group>"; };
+		944F7467197B458C009AB039 /* FLEXPropertyEditorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXPropertyEditorViewController.m; sourceTree = "<group>"; };
+		944F7469197B458C009AB039 /* FLEXExplorerToolbar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXExplorerToolbar.h; sourceTree = "<group>"; };
+		944F746A197B458C009AB039 /* FLEXExplorerToolbar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXExplorerToolbar.m; sourceTree = "<group>"; };
+		944F746B197B458C009AB039 /* FLEXExplorerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXExplorerViewController.h; sourceTree = "<group>"; };
+		944F746C197B458C009AB039 /* FLEXExplorerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXExplorerViewController.m; sourceTree = "<group>"; };
+		944F746D197B458C009AB039 /* FLEXManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXManager.h; sourceTree = "<group>"; };
+		944F746E197B458C009AB039 /* FLEXManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXManager.m; sourceTree = "<group>"; };
+		944F746F197B458C009AB039 /* FLEXToolbarItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXToolbarItem.h; sourceTree = "<group>"; };
+		944F7470197B458C009AB039 /* FLEXToolbarItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXToolbarItem.m; sourceTree = "<group>"; };
+		944F7471197B458C009AB039 /* FLEXWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXWindow.h; sourceTree = "<group>"; };
+		944F7472197B458C009AB039 /* FLEXWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXWindow.m; sourceTree = "<group>"; };
+		944F7474197B458C009AB039 /* FLEXClassesTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXClassesTableViewController.h; sourceTree = "<group>"; };
+		944F7475197B458C009AB039 /* FLEXClassesTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXClassesTableViewController.m; sourceTree = "<group>"; };
+		944F7476197B458C009AB039 /* FLEXFileBrowserTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXFileBrowserTableViewController.h; sourceTree = "<group>"; };
+		944F7477197B458C009AB039 /* FLEXFileBrowserTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXFileBrowserTableViewController.m; sourceTree = "<group>"; };
+		944F7478197B458C009AB039 /* FLEXGlobalsTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXGlobalsTableViewController.h; sourceTree = "<group>"; };
+		944F7479197B458C009AB039 /* FLEXGlobalsTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXGlobalsTableViewController.m; sourceTree = "<group>"; };
+		944F747A197B458C009AB039 /* FLEXInstancesTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXInstancesTableViewController.h; sourceTree = "<group>"; };
+		944F747B197B458C009AB039 /* FLEXInstancesTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXInstancesTableViewController.m; sourceTree = "<group>"; };
+		944F747C197B458C009AB039 /* FLEXLibrariesTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXLibrariesTableViewController.h; sourceTree = "<group>"; };
+		944F747D197B458C009AB039 /* FLEXLibrariesTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXLibrariesTableViewController.m; sourceTree = "<group>"; };
+		944F747E197B458C009AB039 /* FLEXLiveObjectsTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXLiveObjectsTableViewController.h; sourceTree = "<group>"; };
+		944F747F197B458C009AB039 /* FLEXLiveObjectsTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXLiveObjectsTableViewController.m; sourceTree = "<group>"; };
+		944F7480197B458C009AB039 /* FLEXWebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXWebViewController.h; sourceTree = "<group>"; };
+		944F7481197B458C009AB039 /* FLEXWebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXWebViewController.m; sourceTree = "<group>"; };
+		944F7483197B458C009AB039 /* FLEXHierarchyTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXHierarchyTableViewCell.h; sourceTree = "<group>"; };
+		944F7484197B458C009AB039 /* FLEXHierarchyTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXHierarchyTableViewCell.m; sourceTree = "<group>"; };
+		944F7485197B458C009AB039 /* FLEXHierarchyTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXHierarchyTableViewController.h; sourceTree = "<group>"; };
+		944F7486197B458C009AB039 /* FLEXHierarchyTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXHierarchyTableViewController.m; sourceTree = "<group>"; };
+		944F7487197B458C009AB039 /* FLEXImagePreviewViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXImagePreviewViewController.h; sourceTree = "<group>"; };
+		944F7488197B458C009AB039 /* FLEXImagePreviewViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXImagePreviewViewController.m; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		5356823718F3656900BAAD62 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				5356824018F3656900BAAD62 /* CoreGraphics.framework in Frameworks */,
+				5356824218F3656900BAAD62 /* UIKit.framework in Frameworks */,
+				5356823E18F3656900BAAD62 /* Foundation.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		5356823118F3656900BAAD62 = {
+			isa = PBXGroup;
+			children = (
+				3EC6487218FF8A5000024205 /* ReadMe.txt */,
+				5356824318F3656900BAAD62 /* UICatalog */,
+				943203FF1978F4B700E24DB3 /* 3rd Party */,
+				5356823C18F3656900BAAD62 /* Frameworks */,
+				5356823B18F3656900BAAD62 /* Products */,
+			);
+			sourceTree = "<group>";
+		};
+		5356823B18F3656900BAAD62 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				5356823A18F3656900BAAD62 /* UICatalog.app */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		5356823C18F3656900BAAD62 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				5356823D18F3656900BAAD62 /* Foundation.framework */,
+				5356823F18F3656900BAAD62 /* CoreGraphics.framework */,
+				5356824118F3656900BAAD62 /* UIKit.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		5356824318F3656900BAAD62 /* UICatalog */ = {
+			isa = PBXGroup;
+			children = (
+				944F74B8197B46D2009AB039 /* FLEX Integration */,
+				535682C018F3680D00BAAD62 /* View Controllers */,
+				53874F9A18F36B6900510922 /* Application */,
+				5356825818F3656900BAAD62 /* Images.xcassets */,
+				5356824418F3656900BAAD62 /* Supporting Files */,
+			);
+			path = UICatalog;
+			sourceTree = "<group>";
+		};
+		5356824418F3656900BAAD62 /* Supporting Files */ = {
+			isa = PBXGroup;
+			children = (
+				5356824518F3656900BAAD62 /* UICatalog-Info.plist */,
+				5356824B18F3656900BAAD62 /* UICatalog-Prefix.pch */,
+				53874F9718F36B1800510922 /* Localizable.strings */,
+			);
+			name = "Supporting Files";
+			sourceTree = "<group>";
+		};
+		535682C018F3680D00BAAD62 /* View Controllers */ = {
+			isa = PBXGroup;
+			children = (
+				5356827518F3670200BAAD62 /* AAPLActionSheetViewController.h */,
+				5356827618F3670200BAAD62 /* AAPLActionSheetViewController.m */,
+				5356827718F3670200BAAD62 /* AAPLActivityIndicatorViewController.h */,
+				5356827818F3670300BAAD62 /* AAPLActivityIndicatorViewController.m */,
+				5356827918F3670300BAAD62 /* AAPLAlertViewController.h */,
+				5356827A18F3670300BAAD62 /* AAPLAlertViewController.m */,
+				5356827D18F3670300BAAD62 /* AAPLButtonViewController.h */,
+				5356827E18F3670300BAAD62 /* AAPLButtonViewController.m */,
+				5356828318F3670300BAAD62 /* AAPLDatePickerController.h */,
+				5356828418F3670300BAAD62 /* AAPLDatePickerController.m */,
+				5356828918F3670300BAAD62 /* AAPLImageViewController.h */,
+				5356828A18F3670300BAAD62 /* AAPLImageViewController.m */,
+				5356828D18F3670300BAAD62 /* AAPLPageControlViewController.h */,
+				5356828E18F3670300BAAD62 /* AAPLPageControlViewController.m */,
+				5356828F18F3670300BAAD62 /* AAPLPickerViewController.h */,
+				5356829018F3670300BAAD62 /* AAPLPickerViewController.m */,
+				5356829118F3670300BAAD62 /* AAPLProgressViewController.h */,
+				5356829218F3670300BAAD62 /* AAPLProgressViewController.m */,
+				5356829318F3670300BAAD62 /* AAPLSegmentedControlViewController.h */,
+				5356829418F3670300BAAD62 /* AAPLSegmentedControlViewController.m */,
+				5356829518F3670300BAAD62 /* AAPLSliderViewController.h */,
+				5356829618F3670300BAAD62 /* AAPLSliderViewController.m */,
+				5356829918F3670300BAAD62 /* AAPLStepperViewController.h */,
+				5356829A18F3670300BAAD62 /* AAPLStepperViewController.m */,
+				5356829B18F3670300BAAD62 /* AAPLSwitchViewController.h */,
+				5356829C18F3670300BAAD62 /* AAPLSwitchViewController.m */,
+				5356829D18F3670300BAAD62 /* AAPLTextFieldViewController.h */,
+				5356829E18F3670300BAAD62 /* AAPLTextFieldViewController.m */,
+				5356829F18F3670300BAAD62 /* AAPLTextViewController.h */,
+				535682A018F3670300BAAD62 /* AAPLTextViewController.m */,
+				535682A318F3670300BAAD62 /* AAPLWebViewController.h */,
+				535682A418F3670300BAAD62 /* AAPLWebViewController.m */,
+				5356828518F3670300BAAD62 /* AAPLDefaultSearchBarViewController.h */,
+				5356828618F3670300BAAD62 /* AAPLDefaultSearchBarViewController.m */,
+				5356827F18F3670300BAAD62 /* AAPLCustomSearchBarViewController.h */,
+				5356828018F3670300BAAD62 /* AAPLCustomSearchBarViewController.m */,
+				5356828718F3670300BAAD62 /* AAPLDefaultToolbarViewController.h */,
+				5356828818F3670300BAAD62 /* AAPLDefaultToolbarViewController.m */,
+				5356828118F3670300BAAD62 /* AAPLCustomToolbarViewController.h */,
+				5356828218F3670300BAAD62 /* AAPLCustomToolbarViewController.m */,
+				535682A118F3670300BAAD62 /* AAPLTintedToolbarViewController.h */,
+				535682A218F3670300BAAD62 /* AAPLTintedToolbarViewController.m */,
+				535682C118F3690500BAAD62 /* SplitView */,
+			);
+			name = "View Controllers";
+			sourceTree = "<group>";
+		};
+		535682C118F3690500BAAD62 /* SplitView */ = {
+			isa = PBXGroup;
+			children = (
+				5356828B18F3670300BAAD62 /* AAPLMasterViewController.h */,
+				5356828C18F3670300BAAD62 /* AAPLMasterViewController.m */,
+				5356829718F3670300BAAD62 /* AAPLSplitViewControllerDelegate.h */,
+				5356829818F3670300BAAD62 /* AAPLSplitViewControllerDelegate.m */,
+			);
+			name = SplitView;
+			sourceTree = "<group>";
+		};
+		53874F9A18F36B6900510922 /* Application */ = {
+			isa = PBXGroup;
+			children = (
+				5356824918F3656900BAAD62 /* main.m */,
+				5356827B18F3670300BAAD62 /* AAPLAppDelegate.h */,
+				5356827C18F3670300BAAD62 /* AAPLAppDelegate.m */,
+				535682A518F3670300BAAD62 /* UIColor+AAPLApplicationSpecific.h */,
+				535682A618F3670300BAAD62 /* UIColor+AAPLApplicationSpecific.m */,
+				5356824F18F3656900BAAD62 /* Main_iPhone.storyboard */,
+				5356825218F3656900BAAD62 /* Main_iPad.storyboard */,
+			);
+			name = Application;
+			sourceTree = "<group>";
+		};
+		943203FF1978F4B700E24DB3 /* 3rd Party */ = {
+			isa = PBXGroup;
+			children = (
+				943204001978F4C100E24DB3 /* FLEX */,
+			);
+			name = "3rd Party";
+			sourceTree = "<group>";
+		};
+		943204001978F4C100E24DB3 /* FLEX */ = {
+			isa = PBXGroup;
+			children = (
+				944F7424197B458C009AB039 /* Object Explorers */,
+				944F743B197B458C009AB039 /* Utility */,
+				944F7444197B458C009AB039 /* Editing */,
+				944F7468197B458C009AB039 /* Explorer Toolbar */,
+				944F7473197B458C009AB039 /* Global State Explorers */,
+				944F7482197B458C009AB039 /* View Hierarchy */,
+			);
+			name = FLEX;
+			sourceTree = "<group>";
+		};
+		944F7424197B458C009AB039 /* Object Explorers */ = {
+			isa = PBXGroup;
+			children = (
+				944F7425197B458C009AB039 /* FLEXArrayExplorerViewController.h */,
+				944F7426197B458C009AB039 /* FLEXArrayExplorerViewController.m */,
+				944F7427197B458C009AB039 /* FLEXClassExplorerViewController.h */,
+				944F7428197B458C009AB039 /* FLEXClassExplorerViewController.m */,
+				944F7429197B458C009AB039 /* FLEXDefaultsExplorerViewController.h */,
+				944F742A197B458C009AB039 /* FLEXDefaultsExplorerViewController.m */,
+				944F742B197B458C009AB039 /* FLEXDescriptionTableViewCell.h */,
+				944F742C197B458C009AB039 /* FLEXDescriptionTableViewCell.m */,
+				944F742D197B458C009AB039 /* FLEXDictionaryExplorerViewController.h */,
+				944F742E197B458C009AB039 /* FLEXDictionaryExplorerViewController.m */,
+				944F742F197B458C009AB039 /* FLEXImageExplorerViewController.h */,
+				944F7430197B458C009AB039 /* FLEXImageExplorerViewController.m */,
+				944F7431197B458C009AB039 /* FLEXObjectExplorerFactory.h */,
+				944F7432197B458C009AB039 /* FLEXObjectExplorerFactory.m */,
+				944F7433197B458C009AB039 /* FLEXObjectExplorerViewController.h */,
+				944F7434197B458C009AB039 /* FLEXObjectExplorerViewController.m */,
+				944F7435197B458C009AB039 /* FLEXSetExplorerViewController.h */,
+				944F7436197B458C009AB039 /* FLEXSetExplorerViewController.m */,
+				944F7437197B458C009AB039 /* FLEXViewControllerExplorerViewController.h */,
+				944F7438197B458C009AB039 /* FLEXViewControllerExplorerViewController.m */,
+				944F7439197B458C009AB039 /* FLEXViewExplorerViewController.h */,
+				944F743A197B458C009AB039 /* FLEXViewExplorerViewController.m */,
+			);
+			name = "Object Explorers";
+			path = "../Classes/Object Explorers";
+			sourceTree = "<group>";
+		};
+		944F743B197B458C009AB039 /* Utility */ = {
+			isa = PBXGroup;
+			children = (
+				944F743C197B458C009AB039 /* FLEXHeapEnumerator.h */,
+				944F743D197B458C009AB039 /* FLEXHeapEnumerator.m */,
+				944F743E197B458C009AB039 /* FLEXResources.h */,
+				944F743F197B458C009AB039 /* FLEXResources.m */,
+				944F7440197B458C009AB039 /* FLEXRuntimeUtility.h */,
+				944F7441197B458C009AB039 /* FLEXRuntimeUtility.m */,
+				944F7442197B458C009AB039 /* FLEXUtility.h */,
+				944F7443197B458C009AB039 /* FLEXUtility.m */,
+			);
+			name = Utility;
+			path = ../Classes/Utility;
+			sourceTree = "<group>";
+		};
+		944F7444197B458C009AB039 /* Editing */ = {
+			isa = PBXGroup;
+			children = (
+				944F7445197B458C009AB039 /* Argument Input Views */,
+				944F745C197B458C009AB039 /* FLEXDefaultEditorViewController.h */,
+				944F745D197B458C009AB039 /* FLEXDefaultEditorViewController.m */,
+				944F745E197B458C009AB039 /* FLEXFieldEditorView.h */,
+				944F745F197B458C009AB039 /* FLEXFieldEditorView.m */,
+				944F7460197B458C009AB039 /* FLEXFieldEditorViewController.h */,
+				944F7461197B458C009AB039 /* FLEXFieldEditorViewController.m */,
+				944F7462197B458C009AB039 /* FLEXIvarEditorViewController.h */,
+				944F7463197B458C009AB039 /* FLEXIvarEditorViewController.m */,
+				944F7464197B458C009AB039 /* FLEXMethodCallingViewController.h */,
+				944F7465197B458C009AB039 /* FLEXMethodCallingViewController.m */,
+				944F7466197B458C009AB039 /* FLEXPropertyEditorViewController.h */,
+				944F7467197B458C009AB039 /* FLEXPropertyEditorViewController.m */,
+			);
+			name = Editing;
+			path = ../Classes/Editing;
+			sourceTree = "<group>";
+		};
+		944F7445197B458C009AB039 /* Argument Input Views */ = {
+			isa = PBXGroup;
+			children = (
+				944F7446197B458C009AB039 /* FLEXArgumentInputColorView.h */,
+				944F7447197B458C009AB039 /* FLEXArgumentInputColorView.m */,
+				944F7448197B458C009AB039 /* FLEXArgumentInputFontView.h */,
+				944F7449197B458C009AB039 /* FLEXArgumentInputFontView.m */,
+				944F744A197B458C009AB039 /* FLEXArgumentInputJSONObjectView.h */,
+				944F744B197B458C009AB039 /* FLEXArgumentInputJSONObjectView.m */,
+				944F744C197B458C009AB039 /* FLEXArgumentInputNotSupportedView.h */,
+				944F744D197B458C009AB039 /* FLEXArgumentInputNotSupportedView.m */,
+				944F744E197B458C009AB039 /* FLEXArgumentInputNumberView.h */,
+				944F744F197B458C009AB039 /* FLEXArgumentInputNumberView.m */,
+				944F7450197B458C009AB039 /* FLEXArgumentInputStringView.h */,
+				944F7451197B458C009AB039 /* FLEXArgumentInputStringView.m */,
+				944F7452197B458C009AB039 /* FLEXArgumentInputStructView.h */,
+				944F7453197B458C009AB039 /* FLEXArgumentInputStructView.m */,
+				944F7454197B458C009AB039 /* FLEXArgumentInputSwitchView.h */,
+				944F7455197B458C009AB039 /* FLEXArgumentInputSwitchView.m */,
+				944F7456197B458C009AB039 /* FLEXArgumentInputTextView.h */,
+				944F7457197B458C009AB039 /* FLEXArgumentInputTextView.m */,
+				944F7458197B458C009AB039 /* FLEXArgumentInputView.h */,
+				944F7459197B458C009AB039 /* FLEXArgumentInputView.m */,
+				944F745A197B458C009AB039 /* FLEXArgumentInputViewFactory.h */,
+				944F745B197B458C009AB039 /* FLEXArgumentInputViewFactory.m */,
+			);
+			path = "Argument Input Views";
+			sourceTree = "<group>";
+		};
+		944F7468197B458C009AB039 /* Explorer Toolbar */ = {
+			isa = PBXGroup;
+			children = (
+				944F7469197B458C009AB039 /* FLEXExplorerToolbar.h */,
+				944F746A197B458C009AB039 /* FLEXExplorerToolbar.m */,
+				944F746B197B458C009AB039 /* FLEXExplorerViewController.h */,
+				944F746C197B458C009AB039 /* FLEXExplorerViewController.m */,
+				944F746D197B458C009AB039 /* FLEXManager.h */,
+				944F746E197B458C009AB039 /* FLEXManager.m */,
+				944F746F197B458C009AB039 /* FLEXToolbarItem.h */,
+				944F7470197B458C009AB039 /* FLEXToolbarItem.m */,
+				944F7471197B458C009AB039 /* FLEXWindow.h */,
+				944F7472197B458C009AB039 /* FLEXWindow.m */,
+			);
+			name = "Explorer Toolbar";
+			path = "../Classes/Explorer Toolbar";
+			sourceTree = "<group>";
+		};
+		944F7473197B458C009AB039 /* Global State Explorers */ = {
+			isa = PBXGroup;
+			children = (
+				944F7474197B458C009AB039 /* FLEXClassesTableViewController.h */,
+				944F7475197B458C009AB039 /* FLEXClassesTableViewController.m */,
+				944F7476197B458C009AB039 /* FLEXFileBrowserTableViewController.h */,
+				944F7477197B458C009AB039 /* FLEXFileBrowserTableViewController.m */,
+				944F7478197B458C009AB039 /* FLEXGlobalsTableViewController.h */,
+				944F7479197B458C009AB039 /* FLEXGlobalsTableViewController.m */,
+				944F747A197B458C009AB039 /* FLEXInstancesTableViewController.h */,
+				944F747B197B458C009AB039 /* FLEXInstancesTableViewController.m */,
+				944F747C197B458C009AB039 /* FLEXLibrariesTableViewController.h */,
+				944F747D197B458C009AB039 /* FLEXLibrariesTableViewController.m */,
+				944F747E197B458C009AB039 /* FLEXLiveObjectsTableViewController.h */,
+				944F747F197B458C009AB039 /* FLEXLiveObjectsTableViewController.m */,
+				944F7480197B458C009AB039 /* FLEXWebViewController.h */,
+				944F7481197B458C009AB039 /* FLEXWebViewController.m */,
+			);
+			name = "Global State Explorers";
+			path = "../Classes/Global State Explorers";
+			sourceTree = "<group>";
+		};
+		944F7482197B458C009AB039 /* View Hierarchy */ = {
+			isa = PBXGroup;
+			children = (
+				944F7483197B458C009AB039 /* FLEXHierarchyTableViewCell.h */,
+				944F7484197B458C009AB039 /* FLEXHierarchyTableViewCell.m */,
+				944F7485197B458C009AB039 /* FLEXHierarchyTableViewController.h */,
+				944F7486197B458C009AB039 /* FLEXHierarchyTableViewController.m */,
+				944F7487197B458C009AB039 /* FLEXImagePreviewViewController.h */,
+				944F7488197B458C009AB039 /* FLEXImagePreviewViewController.m */,
+			);
+			name = "View Hierarchy";
+			path = "../Classes/View Hierarchy";
+			sourceTree = "<group>";
+		};
+		944F74B8197B46D2009AB039 /* FLEX Integration */ = {
+			isa = PBXGroup;
+			children = (
+				943203FC1978F42F00E24DB3 /* AAPLCatalogTableTableViewController.h */,
+				943203FD1978F42F00E24DB3 /* AAPLCatalogTableTableViewController.m */,
+			);
+			name = "FLEX Integration";
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		5356823918F3656900BAAD62 /* UICatalog */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 5356826F18F3656900BAAD62 /* Build configuration list for PBXNativeTarget "UICatalog" */;
+			buildPhases = (
+				5356823618F3656900BAAD62 /* Sources */,
+				5356823718F3656900BAAD62 /* Frameworks */,
+				5356823818F3656900BAAD62 /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = UICatalog;
+			productName = UICatalog;
+			productReference = 5356823A18F3656900BAAD62 /* UICatalog.app */;
+			productType = "com.apple.product-type.application";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		5356823218F3656900BAAD62 /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				LastUpgradeCheck = 0510;
+				ORGANIZATIONNAME = f;
+			};
+			buildConfigurationList = 5356823518F3656900BAAD62 /* Build configuration list for PBXProject "UICatalog" */;
+			compatibilityVersion = "Xcode 3.2";
+			developmentRegion = English;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				en,
+				Base,
+			);
+			mainGroup = 5356823118F3656900BAAD62;
+			productRefGroup = 5356823B18F3656900BAAD62 /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				5356823918F3656900BAAD62 /* UICatalog */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		5356823818F3656900BAAD62 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				5356825418F3656900BAAD62 /* Main_iPad.storyboard in Resources */,
+				53874F9918F36B1800510922 /* Localizable.strings in Resources */,
+				5356825918F3656900BAAD62 /* Images.xcassets in Resources */,
+				3EC6487318FF8A5000024205 /* ReadMe.txt in Resources */,
+				5356825118F3656900BAAD62 /* Main_iPhone.storyboard in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		5356823618F3656900BAAD62 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				944F749B197B458C009AB039 /* FLEXArgumentInputNotSupportedView.m in Sources */,
+				535682AE18F3670300BAAD62 /* AAPLDatePickerController.m in Sources */,
+				535682AB18F3670300BAAD62 /* AAPLButtonViewController.m in Sources */,
+				944F74A2197B458C009AB039 /* FLEXArgumentInputViewFactory.m in Sources */,
+				944F74A1197B458C009AB039 /* FLEXArgumentInputView.m in Sources */,
+				535682B618F3670300BAAD62 /* AAPLSegmentedControlViewController.m in Sources */,
+				944F74AE197B458C009AB039 /* FLEXClassesTableViewController.m in Sources */,
+				944F74B1197B458C009AB039 /* FLEXInstancesTableViewController.m in Sources */,
+				944F7497197B458C009AB039 /* FLEXUtility.m in Sources */,
+				535682B018F3670300BAAD62 /* AAPLDefaultToolbarViewController.m in Sources */,
+				535682BD18F3670300BAAD62 /* AAPLTintedToolbarViewController.m in Sources */,
+				943203FE1978F42F00E24DB3 /* AAPLCatalogTableTableViewController.m in Sources */,
+				944F748A197B458C009AB039 /* FLEXClassExplorerViewController.m in Sources */,
+				535682B318F3670300BAAD62 /* AAPLPageControlViewController.m in Sources */,
+				535682BA18F3670300BAAD62 /* AAPLSwitchViewController.m in Sources */,
+				535682AF18F3670300BAAD62 /* AAPLDefaultSearchBarViewController.m in Sources */,
+				944F74B5197B458C009AB039 /* FLEXHierarchyTableViewCell.m in Sources */,
+				944F74AD197B458C009AB039 /* FLEXWindow.m in Sources */,
+				944F749D197B458C009AB039 /* FLEXArgumentInputStringView.m in Sources */,
+				944F74A9197B458C009AB039 /* FLEXExplorerToolbar.m in Sources */,
+				944F74A8197B458C009AB039 /* FLEXPropertyEditorViewController.m in Sources */,
+				944F74B0197B458C009AB039 /* FLEXGlobalsTableViewController.m in Sources */,
+				944F748B197B458C009AB039 /* FLEXDefaultsExplorerViewController.m in Sources */,
+				944F749E197B458C009AB039 /* FLEXArgumentInputStructView.m in Sources */,
+				944F74B3197B458C009AB039 /* FLEXLiveObjectsTableViewController.m in Sources */,
+				944F748E197B458C009AB039 /* FLEXImageExplorerViewController.m in Sources */,
+				944F74B6197B458C009AB039 /* FLEXHierarchyTableViewController.m in Sources */,
+				535682BC18F3670300BAAD62 /* AAPLTextViewController.m in Sources */,
+				944F74B4197B458C009AB039 /* FLEXWebViewController.m in Sources */,
+				944F74A5197B458C009AB039 /* FLEXFieldEditorViewController.m in Sources */,
+				944F7489197B458C009AB039 /* FLEXArrayExplorerViewController.m in Sources */,
+				535682B418F3670300BAAD62 /* AAPLPickerViewController.m in Sources */,
+				535682BE18F3670300BAAD62 /* AAPLWebViewController.m in Sources */,
+				944F7490197B458C009AB039 /* FLEXObjectExplorerViewController.m in Sources */,
+				944F7499197B458C009AB039 /* FLEXArgumentInputFontView.m in Sources */,
+				944F7496197B458C009AB039 /* FLEXRuntimeUtility.m in Sources */,
+				944F7491197B458C009AB039 /* FLEXSetExplorerViewController.m in Sources */,
+				944F74AF197B458C009AB039 /* FLEXFileBrowserTableViewController.m in Sources */,
+				535682BB18F3670300BAAD62 /* AAPLTextFieldViewController.m in Sources */,
+				944F749F197B458C009AB039 /* FLEXArgumentInputSwitchView.m in Sources */,
+				944F74A3197B458C009AB039 /* FLEXDefaultEditorViewController.m in Sources */,
+				944F74AB197B458C009AB039 /* FLEXManager.m in Sources */,
+				944F74B2197B458C009AB039 /* FLEXLibrariesTableViewController.m in Sources */,
+				535682BF18F3670300BAAD62 /* UIColor+AAPLApplicationSpecific.m in Sources */,
+				535682B718F3670300BAAD62 /* AAPLSliderViewController.m in Sources */,
+				944F74AC197B458C009AB039 /* FLEXToolbarItem.m in Sources */,
+				944F74B7197B458C009AB039 /* FLEXImagePreviewViewController.m in Sources */,
+				944F7498197B458C009AB039 /* FLEXArgumentInputColorView.m in Sources */,
+				944F74A0197B458C009AB039 /* FLEXArgumentInputTextView.m in Sources */,
+				944F749C197B458C009AB039 /* FLEXArgumentInputNumberView.m in Sources */,
+				944F749A197B458C009AB039 /* FLEXArgumentInputJSONObjectView.m in Sources */,
+				944F7494197B458C009AB039 /* FLEXHeapEnumerator.m in Sources */,
+				535682B918F3670300BAAD62 /* AAPLStepperViewController.m in Sources */,
+				535682AA18F3670300BAAD62 /* AAPLAppDelegate.m in Sources */,
+				535682B518F3670300BAAD62 /* AAPLProgressViewController.m in Sources */,
+				535682AD18F3670300BAAD62 /* AAPLCustomToolbarViewController.m in Sources */,
+				944F748F197B458C009AB039 /* FLEXObjectExplorerFactory.m in Sources */,
+				944F748D197B458C009AB039 /* FLEXDictionaryExplorerViewController.m in Sources */,
+				535682A818F3670300BAAD62 /* AAPLActivityIndicatorViewController.m in Sources */,
+				944F74A4197B458C009AB039 /* FLEXFieldEditorView.m in Sources */,
+				944F74A7197B458C009AB039 /* FLEXMethodCallingViewController.m in Sources */,
+				535682B818F3670300BAAD62 /* AAPLSplitViewControllerDelegate.m in Sources */,
+				535682AC18F3670300BAAD62 /* AAPLCustomSearchBarViewController.m in Sources */,
+				535682A718F3670300BAAD62 /* AAPLActionSheetViewController.m in Sources */,
+				944F74AA197B458C009AB039 /* FLEXExplorerViewController.m in Sources */,
+				944F7492197B458C009AB039 /* FLEXViewControllerExplorerViewController.m in Sources */,
+				5356824A18F3656900BAAD62 /* main.m in Sources */,
+				535682B118F3670300BAAD62 /* AAPLImageViewController.m in Sources */,
+				944F7493197B458C009AB039 /* FLEXViewExplorerViewController.m in Sources */,
+				944F7495197B458C009AB039 /* FLEXResources.m in Sources */,
+				535682A918F3670300BAAD62 /* AAPLAlertViewController.m in Sources */,
+				944F74A6197B458C009AB039 /* FLEXIvarEditorViewController.m in Sources */,
+				944F748C197B458C009AB039 /* FLEXDescriptionTableViewCell.m in Sources */,
+				535682B218F3670300BAAD62 /* AAPLMasterViewController.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+		5356824F18F3656900BAAD62 /* Main_iPhone.storyboard */ = {
+			isa = PBXVariantGroup;
+			children = (
+				5356825018F3656900BAAD62 /* Base */,
+			);
+			name = Main_iPhone.storyboard;
+			sourceTree = "<group>";
+		};
+		5356825218F3656900BAAD62 /* Main_iPad.storyboard */ = {
+			isa = PBXVariantGroup;
+			children = (
+				5356825318F3656900BAAD62 /* Base */,
+			);
+			name = Main_iPad.storyboard;
+			sourceTree = "<group>";
+		};
+		53874F9718F36B1800510922 /* Localizable.strings */ = {
+			isa = PBXVariantGroup;
+			children = (
+				53874F9818F36B1800510922 /* en */,
+			);
+			name = Localizable.strings;
+			sourceTree = "<group>";
+		};
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+		5356826D18F3656900BAAD62 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = NO;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+				ONLY_ACTIVE_ARCH = YES;
+				SDKROOT = iphoneos;
+				TARGETED_DEVICE_FAMILY = "1,2";
+			};
+			name = Debug;
+		};
+		5356826E18F3656900BAAD62 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = YES;
+				ENABLE_NS_ASSERTIONS = NO;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+				SDKROOT = iphoneos;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				VALIDATE_PRODUCT = YES;
+			};
+			name = Release;
+		};
+		5356827018F3656900BAAD62 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "UICatalog/UICatalog-Prefix.pch";
+				INFOPLIST_FILE = "UICatalog/UICatalog-Info.plist";
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				WRAPPER_EXTENSION = app;
+			};
+			name = Debug;
+		};
+		5356827118F3656900BAAD62 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "UICatalog/UICatalog-Prefix.pch";
+				INFOPLIST_FILE = "UICatalog/UICatalog-Info.plist";
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				WRAPPER_EXTENSION = app;
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		5356823518F3656900BAAD62 /* Build configuration list for PBXProject "UICatalog" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				5356826D18F3656900BAAD62 /* Debug */,
+				5356826E18F3656900BAAD62 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		5356826F18F3656900BAAD62 /* Build configuration list for PBXNativeTarget "UICatalog" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				5356827018F3656900BAAD62 /* Debug */,
+				5356827118F3656900BAAD62 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 5356823218F3656900BAAD62 /* Project object */;
+}

+ 7 - 0
Example/UICatalog.xcodeproj/project.xcworkspace/contents.xcworkspacedata

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "self:UICatalog.xcodeproj">
+   </FileRef>
+</Workspace>

+ 51 - 0
Example/UICatalog/AAPLActionSheetViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLActionSheetViewController.h
+    Abstract: A view controller that demonstrates how to use UIActionSheet.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLActionSheetViewController : UITableViewController
+@end

+ 124 - 0
Example/UICatalog/AAPLActionSheetViewController.m

@@ -0,0 +1,124 @@
+/*
+        File: AAPLActionSheetViewController.m
+    Abstract: A view controller that demonstrates how to use UIActionSheet.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLActionSheetViewController.h"
+
+// Corresponds to the row in the action sheet section.
+typedef NS_ENUM(NSInteger, AAPLActionSheetsViewControllerTableRow) {
+    AAPLAlertsViewControllerActionSheetRowOkayCancel = 0,
+    AAPLAlertsViewControllerActionSheetRowOther
+};
+
+
+@interface AAPLActionSheetViewController() <UIActionSheetDelegate>
+@end
+
+
+#pragma mark -
+
+@implementation AAPLActionSheetViewController
+
+// Show a dialog with an "Okay" and "Cancel" button.
+- (void)showOkayCancelActionSheet {
+    NSString *cancelButtonTitle = NSLocalizedString(@"Cancel", nil);
+    NSString *destructiveButtonTitle = NSLocalizedString(@"OK", nil);
+    
+	UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:cancelButtonTitle destructiveButtonTitle:destructiveButtonTitle otherButtonTitles:nil];
+    
+	actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
+    
+	[actionSheet showInView:self.view];
+}
+
+// Show a dialog with two custom buttons.
+- (void)showOtherActionSheet {
+    NSString *destructiveButtonTitle = NSLocalizedString(@"Destructive Choice", nil);
+    NSString *otherButtonTitle = NSLocalizedString(@"Safe Choice", nil);
+
+	UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:nil destructiveButtonTitle:destructiveButtonTitle otherButtonTitles:otherButtonTitle, nil];
+    
+	actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
+    
+	[actionSheet showInView:self.view];
+}
+
+
+#pragma mark - UIActionSheetDelegate
+
+- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
+    if (actionSheet.destructiveButtonIndex == buttonIndex) {
+        NSLog(@"Action sheet clicked with the destructive button index.");
+    }
+    else if (actionSheet.cancelButtonIndex == buttonIndex) {
+        NSLog(@"Action sheet clicked with the cancel button index.");
+    }
+    else {
+        NSLog(@"Action sheet clicked with button at index %ld.", (long)buttonIndex);
+    }
+}
+
+
+#pragma mark - UITableViewDelegate
+
+- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
+    AAPLActionSheetsViewControllerTableRow row = indexPath.row;
+
+    switch (row) {
+        case AAPLAlertsViewControllerActionSheetRowOkayCancel:
+            [self showOkayCancelActionSheet];
+            break;
+        case AAPLAlertsViewControllerActionSheetRowOther:
+            [self showOtherActionSheet];
+            break;
+        default:
+            break;
+    }
+
+    [tableView deselectRowAtIndexPath:indexPath animated:YES];
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLActivityIndicatorViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLActivityIndicatorViewController.h
+    Abstract: A view controller that demonstrates how to use UIActivityIndicatorView.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLActivityIndicatorViewController : UITableViewController
+@end

+ 90 - 0
Example/UICatalog/AAPLActivityIndicatorViewController.m

@@ -0,0 +1,90 @@
+/*
+        File: AAPLActivityIndicatorViewController.m
+    Abstract: A view controller that demonstrates how to use UIActivityIndicatorView.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLActivityIndicatorViewController.h"
+
+@interface AAPLActivityIndicatorViewController()
+
+@property (nonatomic, weak) IBOutlet UIActivityIndicatorView *grayStyleActivityIndicatorView;
+@property (nonatomic, weak) IBOutlet UIActivityIndicatorView *tintedActivityIndicatorView;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLActivityIndicatorViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+
+    [self configureGrayActivityIndicatorView];
+    [self configureTintedActivityIndicatorView];
+
+    // When activity is done, use -[UIActivityIndicatorView stopAnimating].
+}
+
+
+#pragma mark - Configuration
+
+- (void)configureGrayActivityIndicatorView {
+    self.grayStyleActivityIndicatorView.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
+
+    [self.grayStyleActivityIndicatorView startAnimating];
+    
+    self.grayStyleActivityIndicatorView.hidesWhenStopped = YES;
+}
+
+- (void)configureTintedActivityIndicatorView {
+    self.tintedActivityIndicatorView.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
+
+    self.tintedActivityIndicatorView.color = [UIColor aapl_applicationPurpleColor];
+
+    [self.tintedActivityIndicatorView startAnimating];
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLAlertViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLAlertViewController.h
+    Abstract: The view controller that demonstrates how to use UIAlertView.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLAlertViewController : UITableViewController
+@end

+ 183 - 0
Example/UICatalog/AAPLAlertViewController.m

@@ -0,0 +1,183 @@
+/*
+        File: AAPLAlertViewController.m
+    Abstract: The view controller that demonstrates how to use UIAlertView.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLAlertViewController.h"
+
+// Corresponds to the row in the alert view section.
+typedef NS_ENUM(NSInteger, AAPLAlertsViewControllerTableRow) {
+    AAPLAlertsViewControllerAlertViewRowSimple = 0,
+    AAPLAlertsViewControllerAlertViewRowOkayCancel,
+    AAPLAlertsViewControllerAlertViewRowOther,
+    AAPLAlertsViewControllerAlertViewRowTextEntry,
+    AAPLAlertsViewControllerActionSheetRowTextEntrySecure
+};
+
+
+@interface AAPLAlertViewController() <UIAlertViewDelegate>
+@end
+
+
+#pragma mark -
+
+@implementation AAPLAlertViewController
+
+// Show an alert with an "Okay" button.
+- (void)showSimpleAlert {
+    NSString *title = NSLocalizedString(@"A Short Title Is Best", nil);
+    NSString *message = NSLocalizedString(@"A message should be a short, complete sentence.", nil);
+    NSString *cancelButtonTitle = NSLocalizedString(@"OK", nil);
+
+	UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:self cancelButtonTitle:cancelButtonTitle otherButtonTitles:nil];
+
+	[alert show];
+}
+
+// Show an alert with an "Okay" and "Cancel" button.
+- (void)showOkayCancelAlert {
+    NSString *title = NSLocalizedString(@"A Short Title Is Best", nil);
+    NSString *message = NSLocalizedString(@"A message should be a short, complete sentence.", nil);
+    NSString *cancelButtonTitle = NSLocalizedString(@"Cancel", nil);
+    NSString *otherButtonTitle = NSLocalizedString(@"OK", nil);
+
+	UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:self cancelButtonTitle:cancelButtonTitle otherButtonTitles:otherButtonTitle, nil];
+
+	[alert show];
+}
+
+// Show an alert with two custom buttons.
+- (void)showOtherAlert {
+    NSString *title = NSLocalizedString(@"A Short Title Is Best", nil);
+    NSString *message = NSLocalizedString(@"A message should be a short, complete sentence.", nil);
+    NSString *cancelButtonTitle = NSLocalizedString(@"Cancel", nil);
+    NSString *otherButtonTitleOne = NSLocalizedString(@"Choice One", nil);
+    NSString *otherButtonTitleTwo = NSLocalizedString(@"Choice Two", nil);
+
+	UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:self cancelButtonTitle:cancelButtonTitle otherButtonTitles:otherButtonTitleOne, otherButtonTitleTwo, nil];
+
+	[alert show];
+}
+
+// Show a text entry alert with two custom buttons.
+- (void)showTextEntryAlert {
+    NSString *title = NSLocalizedString(@"A Short Title Is Best", nil);
+    NSString *message = NSLocalizedString(@"A message should be a short, complete sentence.", nil);
+    NSString *cancelButtonTitle = NSLocalizedString(@"Cancel", nil);
+    NSString *otherButtonTitle = NSLocalizedString(@"OK", nil);
+    
+	UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:self cancelButtonTitle:cancelButtonTitle otherButtonTitles:otherButtonTitle, nil];
+
+    alert.alertViewStyle = UIAlertViewStylePlainTextInput;
+
+    [alert show];
+}
+
+// Show a secure text entry alert with two custom buttons.
+- (void)showSecureTextEntryAlert {
+    NSString *title = NSLocalizedString(@"A Short Title Is Best", nil);
+    NSString *message = NSLocalizedString(@"A message should be a short, complete sentence.", nil);
+    NSString *cancelButtonTitle = NSLocalizedString(@"Cancel", nil);
+    NSString *otherButtonTitle = NSLocalizedString(@"OK", nil);
+
+	UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:self cancelButtonTitle:cancelButtonTitle otherButtonTitles:otherButtonTitle, nil];
+
+	alert.alertViewStyle = UIAlertViewStyleSecureTextInput;
+    
+    [alert show];
+}
+
+
+#pragma mark - UIAlertViewDelegate
+
+- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
+    if (alertView.cancelButtonIndex == buttonIndex) {
+        NSLog(@"Alert view clicked with the cancel button index.");
+    }
+    else {
+        NSLog(@"Alert view clicked with button at index %ld.", (long)buttonIndex);
+    }
+}
+
+- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView {
+    // Enforce a minimum length of >= 5 characters for secure text alert views.
+    if (alertView.alertViewStyle == UIAlertViewStyleSecureTextInput) {
+        return [[alertView textFieldAtIndex:0].text length] >= 5;
+    }
+
+    return YES;
+}
+
+
+#pragma mark - UITableViewDelegate
+
+// Determine the action to perform based on the selected cell.
+- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
+    AAPLAlertsViewControllerTableRow row = indexPath.row;
+
+    switch (row) {
+        case AAPLAlertsViewControllerAlertViewRowSimple:
+            [self showSimpleAlert];
+            break;
+        case AAPLAlertsViewControllerAlertViewRowOkayCancel:
+            [self showOkayCancelAlert];
+            break;
+        case AAPLAlertsViewControllerAlertViewRowOther:
+            [self showOtherAlert];
+            break;
+        case AAPLAlertsViewControllerAlertViewRowTextEntry:
+            [self showTextEntryAlert];
+            break;
+        case AAPLAlertsViewControllerActionSheetRowTextEntrySecure:
+            [self showSecureTextEntryAlert];
+            break;
+        default:
+            break;
+    }
+
+    [tableView deselectRowAtIndexPath:indexPath animated:YES];
+}
+
+@end

+ 54 - 0
Example/UICatalog/AAPLAppDelegate.h

@@ -0,0 +1,54 @@
+/*
+        File: AAPLAppDelegate.h
+    Abstract: The application-specific delegate class.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLAppDelegate : UIResponder <UIApplicationDelegate>
+
+@property (strong, nonatomic) UIWindow *window;
+
+@end

+ 51 - 0
Example/UICatalog/AAPLAppDelegate.m

@@ -0,0 +1,51 @@
+/*
+        File: AAPLAppDelegate.m
+    Abstract: The application-specific delegate class.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLAppDelegate.h"
+
+@implementation AAPLAppDelegate
+@end

+ 51 - 0
Example/UICatalog/AAPLButtonViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLButtonViewController.h
+    Abstract: A view controller that demonstrates how to use UIButton. The buttons are created using storyboards, but each of the system buttons can be created in code by using the +[UIButton buttonWithType:] initializer. See UIButton.h for a comprehensive list of the various UIButtonType values.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLButtonViewController : UITableViewController
+@end

+ 133 - 0
Example/UICatalog/AAPLButtonViewController.m

@@ -0,0 +1,133 @@
+/*
+        File: AAPLButtonViewController.m
+    Abstract: A view controller that demonstrates how to use UIButton. The buttons are created using storyboards, but each of the system buttons can be created in code by using the +[UIButton buttonWithType:] initializer. See UIButton.h for a comprehensive list of the various UIButtonType values.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLButtonViewController.h"
+
+@interface AAPLButtonViewController()
+
+@property (nonatomic, weak) IBOutlet UIButton *systemTextButton;
+@property (nonatomic, weak) IBOutlet UIButton *systemContactAddButton;
+@property (nonatomic, weak) IBOutlet UIButton *systemDetailDisclosureButton;
+@property (nonatomic, weak) IBOutlet UIButton *imageButton;
+@property (nonatomic, weak) IBOutlet UIButton *attributedTextButton;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLButtonViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+
+    // All of the buttons are created in the storyboard, but configured below.
+    [self configureSystemTextButton];
+    [self configureSystemContactAddButton];
+    [self configureSystemDetailDisclosureButton];
+    [self configureImageButton];
+    [self configureAttributedTextSystemButton];
+}
+
+
+#pragma mark - Configuration
+
+- (void)configureSystemTextButton {
+    [self.systemTextButton setTitle:NSLocalizedString(@"Button", nil) forState:UIControlStateNormal];
+    
+    [self.systemTextButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
+}
+
+- (void)configureSystemContactAddButton {
+    self.systemContactAddButton.backgroundColor = [UIColor clearColor];
+    
+    [self.systemContactAddButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
+}
+
+- (void)configureSystemDetailDisclosureButton {
+    self.systemDetailDisclosureButton.backgroundColor = [UIColor clearColor];
+    
+    [self.systemDetailDisclosureButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
+}
+
+- (void)configureImageButton {
+    // To create this button in code you can use +[UIButton buttonWithType:] with a parameter value of UIButtonTypeCustom.
+    
+    // Remove the title text.
+    [self.imageButton setTitle:@"" forState:UIControlStateNormal];
+
+    self.imageButton.tintColor = [UIColor aapl_applicationPurpleColor];
+    
+    [self.imageButton setImage:[UIImage imageNamed:@"x_icon"] forState:UIControlStateNormal];
+
+    // Add an accessibility label to the image.
+    self.imageButton.accessibilityLabel = NSLocalizedString(@"X Button", nil);
+    
+    [self.imageButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
+}
+
+- (void)configureAttributedTextSystemButton {
+    NSDictionary *titleAttributes = @{NSForegroundColorAttributeName: [UIColor aapl_applicationBlueColor], NSStrikethroughStyleAttributeName: @(NSUnderlineStyleSingle)};
+    NSAttributedString *attributedTitle = [[NSAttributedString alloc] initWithString:NSLocalizedString(@"Button", nil) attributes:titleAttributes];
+    [self.attributedTextButton setAttributedTitle:attributedTitle forState:UIControlStateNormal];
+
+    NSDictionary *highlightedTitleAttributes = @{NSForegroundColorAttributeName : [UIColor aapl_applicationGreenColor], NSStrikethroughStyleAttributeName: @(NSUnderlineStyleThick)};
+    NSAttributedString *highlightedAttributedTitle = [[NSAttributedString alloc] initWithString:NSLocalizedString(@"Button", nil) attributes:highlightedTitleAttributes];
+    [self.attributedTextButton setAttributedTitle:highlightedAttributedTitle forState:UIControlStateHighlighted];
+
+    [self.attributedTextButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
+}
+
+
+#pragma mark - Actions
+
+// Handler for all of AAPLButtonViewController's UIButton actions.
+- (void)buttonClicked:(UIButton *)button {
+    NSLog(@"A button was clicked: %@.", button);
+}
+
+@end

+ 11 - 0
Example/UICatalog/AAPLCatalogTableTableViewController.h

@@ -0,0 +1,11 @@
+//
+//  AAPLCatalogTableTableViewController.h
+//  UICatalog
+//
+//  Created by Ryan Olson on 7/17/14.
+
+#import <UIKit/UIKit.h>
+
+@interface AAPLCatalogTableTableViewController : UITableViewController
+
+@end

+ 29 - 0
Example/UICatalog/AAPLCatalogTableTableViewController.m

@@ -0,0 +1,29 @@
+//
+//  AAPLCatalogTableTableViewController.m
+//  UICatalog
+//
+//  Created by Ryan Olson on 7/17/14.
+
+#import "AAPLCatalogTableTableViewController.h"
+#import "FLEXManager.h"
+
+@interface AAPLCatalogTableTableViewController ()
+
+@end
+
+@implementation AAPLCatalogTableTableViewController
+
+- (void)viewDidLoad
+{
+    [super viewDidLoad];
+    
+    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"FLEX" style:UIBarButtonItemStylePlain target:self action:@selector(flexButtonTapped:)];
+}
+
+- (void)flexButtonTapped:(id)sender
+{
+    // This call shows the FLEX toolbar if it's not already shown.
+    [[FLEXManager sharedManager] showExplorer];
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLCustomSearchBarViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLCustomSearchBarViewController.h
+    Abstract: A view controller that demonstrates how to customize a UISearchBar.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLCustomSearchBarViewController : UIViewController
+@end

+ 105 - 0
Example/UICatalog/AAPLCustomSearchBarViewController.m

@@ -0,0 +1,105 @@
+/*
+        File: AAPLCustomSearchBarViewController.m
+    Abstract: A view controller that demonstrates how to customize a UISearchBar.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLCustomSearchBarViewController.h"
+
+@interface AAPLCustomSearchBarViewController()<UISearchBarDelegate>
+
+@property (nonatomic, weak) IBOutlet UISearchBar *searchBar;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLCustomSearchBarViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+
+    [self configureSearchBar];
+}
+
+
+#pragma mark - Configuration
+
+- (void)configureSearchBar {
+    self.searchBar.showsCancelButton = YES;
+    self.searchBar.showsBookmarkButton = YES;
+    
+    self.searchBar.tintColor = [UIColor aapl_applicationPurpleColor];
+    
+    self.searchBar.backgroundImage = [UIImage imageNamed:@"search_bar_background"];
+
+    // Set the bookmark image for both normal and highlighted states.
+    UIImage *bookmarkImage = [UIImage imageNamed:@"bookmark_icon"];
+    [self.searchBar setImage:bookmarkImage forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateNormal];
+
+    UIImage *bookmarkHighlightedImage = [UIImage imageNamed:@"bookmark_icon_highlighted"];
+    [self.searchBar setImage:bookmarkHighlightedImage forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateHighlighted];
+}
+
+
+#pragma mark - UISearchBarDelegate
+
+- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
+    NSLog(@"The custom search bar keyboard search button was tapped: %@.", searchBar.text);
+
+    [searchBar resignFirstResponder];
+}
+
+- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
+    NSLog(@"The custom search bar cancel button was tapped.");
+
+    [searchBar resignFirstResponder];
+}
+
+- (void)searchBarBookmarkButtonClicked:(UISearchBar *)searchBar {
+    NSLog(@"The custom bookmark button inside the search bar was tapped.");
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLCustomToolbarViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLCustomToolbarViewController.h
+    Abstract: A view controller that demonstrates how to customize a UIToolbar.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLCustomToolbarViewController : UIViewController
+@end

+ 109 - 0
Example/UICatalog/AAPLCustomToolbarViewController.m

@@ -0,0 +1,109 @@
+/*
+        File: AAPLCustomToolbarViewController.m
+    Abstract: A view controller that demonstrates how to customize a UIToolbar.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLCustomToolbarViewController.h"
+
+@interface AAPLCustomToolbarViewController()
+
+@property (nonatomic, weak) IBOutlet UIToolbar *toolbar;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLCustomToolbarViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    
+    [self configureToolbar];
+}
+
+
+#pragma mark - Configuration
+
+- (void)configureToolbar {
+    UIImage *toolbarBackgroundImage = [UIImage imageNamed:@"toolbar_background"];
+    [self.toolbar setBackgroundImage:toolbarBackgroundImage forToolbarPosition:UIBarPositionBottom barMetrics:UIBarMetricsDefault];
+
+    NSArray *toolbarButtonItems = @[[self customImageBarButtonItem], [self flexibleSpaceBarButtonItem], [self customBarButtonItem]];
+    [self.toolbar setItems:toolbarButtonItems animated:YES];
+}
+
+
+#pragma mark - UIBarButtonItem Creation and Configuration
+
+- (UIBarButtonItem *)customImageBarButtonItem {
+    UIBarButtonItem *customImageBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"tools_icon"] style:UIBarButtonItemStylePlain target:self action:@selector(barButtonItemClicked:)];
+
+    customImageBarButtonItem.tintColor = [UIColor aapl_applicationPurpleColor];
+
+    return customImageBarButtonItem;
+}
+
+- (UIBarButtonItem *)flexibleSpaceBarButtonItem {
+    return [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:NULL];
+}
+
+- (UIBarButtonItem *)customBarButtonItem {
+    UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Button", nil) style:UIBarButtonItemStylePlain target:self action:@selector(barButtonItemClicked:)];
+
+    NSDictionary *attributes = @{NSForegroundColorAttributeName: [UIColor aapl_applicationPurpleColor]};
+    [barButtonItem setTitleTextAttributes:attributes forState:UIControlStateNormal];
+
+    return barButtonItem;
+}
+
+
+#pragma mark - Actions
+
+- (void)barButtonItemClicked:(UIBarButtonItem *)barButtonItem {
+    NSLog(@"A bar button item on the custom toolbar was clicked: %@.", barButtonItem);
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLDatePickerController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLDatePickerController.h
+    Abstract: A view controller that demonstrates how to use UIDatePicker.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLDatePickerController : UIViewController
+@end

+ 109 - 0
Example/UICatalog/AAPLDatePickerController.m

@@ -0,0 +1,109 @@
+/*
+        File: AAPLDatePickerController.m
+    Abstract: A view controller that demonstrates how to use UIDatePicker.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLDatePickerController.h"
+
+@interface AAPLDatePickerController()
+
+@property (nonatomic, weak) IBOutlet UIDatePicker *datePicker;
+@property (nonatomic, weak) IBOutlet UILabel *dateLabel;
+
+@property (nonatomic, strong) NSDateFormatter *dateFormatter;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLDatePickerController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+
+    // Create a date formatter to be used to format the "date" property of "datePicker".
+    self.dateFormatter = [[NSDateFormatter alloc] init];
+    self.dateFormatter.dateStyle = NSDateFormatterMediumStyle;
+    self.dateFormatter.timeStyle = NSDateFormatterShortStyle;
+
+    [self configureDatePicker];
+}
+
+
+#pragma mark - Configuration
+
+- (void)configureDatePicker {
+    self.datePicker.datePickerMode = UIDatePickerModeDateAndTime;
+
+    // Set min/max date for the date picker.
+    // As an example we will limit the date between now and 7 days from now.
+    NSDate *now = [NSDate date];
+    self.datePicker.minimumDate = now;
+
+    NSCalendar *currentCalendar = [NSCalendar currentCalendar];
+
+    NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
+    dateComponents.day = 7;
+
+    NSDate *sevenDaysFromNow = [currentCalendar dateByAddingComponents:dateComponents toDate:now options:0];
+    self.datePicker.maximumDate = sevenDaysFromNow;
+
+    // Display the "minutes" interval by increments of 1 minute (this is the default).
+    self.datePicker.minuteInterval = 1;
+
+    [self.datePicker addTarget:self action:@selector(updateDatePickerLabel) forControlEvents:UIControlEventValueChanged];
+
+    [self updateDatePickerLabel];
+}
+
+
+#pragma mark - Actions
+
+- (void)updateDatePickerLabel {
+    self.dateLabel.text = [self.dateFormatter stringFromDate:self.datePicker.date];
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLDefaultSearchBarViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLDefaultSearchBarViewController.h
+    Abstract: A view controller that demonstrates how to use a default UISearchBar.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLDefaultSearchBarViewController : UIViewController
+@end

+ 99 - 0
Example/UICatalog/AAPLDefaultSearchBarViewController.m

@@ -0,0 +1,99 @@
+/*
+        File: AAPLDefaultSearchBarViewController.m
+    Abstract: A view controller that demonstrates how to use a default UISearchBar.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLDefaultSearchBarViewController.h"
+
+@interface AAPLDefaultSearchBarViewController()<UISearchBarDelegate>
+
+@property (nonatomic, weak) IBOutlet UISearchBar *searchBar;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLDefaultSearchBarViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    
+    [self configureSearchBar];
+}
+
+
+#pragma mark - Configuration
+
+- (void)configureSearchBar {
+    self.searchBar.showsCancelButton = YES;
+    self.searchBar.showsScopeBar = YES;
+
+    self.searchBar.scopeButtonTitles = @[
+        NSLocalizedString(@"Scope One", nil),
+        NSLocalizedString(@"Scope Two", nil)
+    ];
+}
+
+
+#pragma mark - UISearchBarDelegate
+
+- (void)searchBar:(UISearchBar *)searchBar selectedScopeButtonIndexDidChange:(NSInteger)selectedScope {
+    NSLog(@"The default search selected scope button index changed to %ld.", (long)selectedScope);
+}
+
+- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
+    NSLog(@"The default search bar keyboard search button was tapped: %@.", searchBar.text);
+    
+    [searchBar resignFirstResponder];
+}
+
+- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
+    NSLog(@"The default search bar cancel button was tapped.");
+    
+    [searchBar resignFirstResponder];
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLDefaultToolbarViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLDefaultToolbarViewController.h
+    Abstract: A view controller that demonstrates how to use a default UIToolbar.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLDefaultToolbarViewController : UIViewController
+@end

+ 99 - 0
Example/UICatalog/AAPLDefaultToolbarViewController.m

@@ -0,0 +1,99 @@
+/*
+        File: AAPLDefaultToolbarViewController.m
+    Abstract: A view controller that demonstrates how to use a default UIToolbar.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLDefaultToolbarViewController.h"
+
+@interface AAPLDefaultToolbarViewController()
+
+@property (nonatomic, weak) IBOutlet UIToolbar *toolbar;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLDefaultToolbarViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    
+    [self configureToolbar];
+}
+
+
+#pragma mark - Configuration
+
+- (void)configureToolbar {
+    NSArray *toolbarButtonItems = @[[self trashBarButtonItem], [self flexibleSpaceBarButtonItem], [self customTitleBarButtonItem]];
+    [self.toolbar setItems:toolbarButtonItems animated:YES];
+}
+
+
+#pragma mark - UIBarButtonItem Creation and Configuration
+
+- (UIBarButtonItem *)trashBarButtonItem {
+    return [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemTrash target:self action:@selector(barButtonItemClicked:)];
+}
+
+- (UIBarButtonItem *)flexibleSpaceBarButtonItem {
+    return [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:NULL];
+}
+
+- (UIBarButtonItem *)customTitleBarButtonItem {
+    NSString *customTitle = NSLocalizedString(@"Action", nil);
+
+    return [[UIBarButtonItem alloc] initWithTitle:customTitle style:UIBarButtonItemStylePlain target:self action:@selector(barButtonItemClicked:)];
+}
+
+
+#pragma mark - Actions
+
+- (void)barButtonItemClicked:(UIBarButtonItem *)barButtonItem {
+    NSLog(@"A bar button item on the default toolbar was clicked: %@.", barButtonItem);
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLImageViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLImageViewController.h
+    Abstract: A view controller that demonstrates how to use UIImageView.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLImageViewController : UIViewController
+@end

+ 79 - 0
Example/UICatalog/AAPLImageViewController.m

@@ -0,0 +1,79 @@
+/*
+        File: AAPLImageViewController.m
+    Abstract: A view controller that demonstrates how to use UIImageView.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLImageViewController.h"
+
+@implementation AAPLImageViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    
+    // The root view of the view controller set in Interface Builder is a UIImageView.
+    UIImageView *imageView = (UIImageView *)self.view;
+
+    imageView.animationImages = @[
+        [UIImage imageNamed:@"image_animal_1"],
+        [UIImage imageNamed:@"image_animal_2"],
+        [UIImage imageNamed:@"image_animal_3"],
+        [UIImage imageNamed:@"image_animal_4"],
+        [UIImage imageNamed:@"image_animal_5"]
+    ];
+    
+    // We want the image to be scaled to the correct aspect ratio within imageView's bounds.
+    imageView.contentMode = UIViewContentModeScaleAspectFit;
+    
+    // If the image does not have the same aspect ratio as imageView's bounds, then imageView's backgroundColor will be applied to the "empty" space.
+    imageView.backgroundColor = [UIColor whiteColor];
+    
+    imageView.animationDuration = 5;
+    [imageView startAnimating];
+    
+    imageView.isAccessibilityElement = YES;
+    imageView.accessibilityLabel = NSLocalizedString(@"Animated", nil);
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLMasterViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLMasterViewController.h
+    Abstract: An iPad-only class that ensures that the root view controller of the application always has the bar button item displayed when in portrait. See AAPLSplitViewControllerDelegate for more information.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLMasterViewController : UITableViewController
+@end

+ 85 - 0
Example/UICatalog/AAPLMasterViewController.m

@@ -0,0 +1,85 @@
+/*
+        File: AAPLMasterViewController.m
+    Abstract: An iPad-only class that ensures that the root view controller of the application always has the bar button item displayed when in portrait. See AAPLSplitViewControllerDelegate for more information.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLMasterViewController.h"
+#import "FLEXManager.h"
+
+@implementation AAPLMasterViewController
+
+- (void)viewDidLoad
+{
+    [super viewDidLoad];
+    
+    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"FLEX" style:UIBarButtonItemStylePlain target:self action:@selector(flexButtonTapped:)];
+}
+
+- (void)flexButtonTapped:(id)sender
+{
+    [[FLEXManager sharedManager] showExplorer];
+}
+
+// When a segue from the AAPLMasterViewController's table view is triggered, we want to ensure that the current detail view controller's
+// "More" bar button item is correctly transferred to the destination detail view controller's navigation item. We are only concerned about
+// this change when the application is in portrait mode since this is the only time that the "More" bar button item will be visible.
+- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
+    if (UIInterfaceOrientationIsPortrait(self.interfaceOrientation)) {
+        UINavigationController *newDetailViewController = [segue destinationViewController];
+        UINavigationController *oldDetailViewController = [self.splitViewController.viewControllers lastObject];
+        
+        // In order for a segue to occur when the view controller is in portrait, the "More" bar button item must be visible.
+        // However, the "More" bar button item is only visible if the detail view controller's root view controller is
+        // visible (otherwise there would be a "Back" bar button item). We can then query the old detail view controller's top view
+        // controller for the current "More" bar button item.
+        UIBarButtonItem *currentDetailBarButtonItem = oldDetailViewController.topViewController.navigationItem.leftBarButtonItem;
+
+        // The new detail view controller's root view controller will be the top view controller when it's initially
+        // pushed onto the detail navigation controller.
+        newDetailViewController.topViewController.navigationItem.leftBarButtonItem = currentDetailBarButtonItem;
+    }
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLPageControlViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLPageControlViewController.h
+    Abstract: A view controller that demonstrates how to use UIPageControl.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLPageControlViewController : UIViewController
+@end

+ 98 - 0
Example/UICatalog/AAPLPageControlViewController.m

@@ -0,0 +1,98 @@
+/*
+        File: AAPLPageControlViewController.m
+    Abstract: A view controller that demonstrates how to use UIPageControl.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLPageControlViewController.h"
+
+@interface AAPLPageControlViewController ()
+
+@property (nonatomic, weak) IBOutlet UIPageControl *pageControl;
+
+@property (nonatomic, weak) IBOutlet UIView *colorView;
+@property (nonatomic, strong) NSArray *colors;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLPageControlViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+
+    // Set a list of colors that correspond to the selected page.
+    self.colors = @[[UIColor blackColor], [UIColor grayColor], [UIColor redColor], [UIColor greenColor], [UIColor blueColor], [UIColor cyanColor], [UIColor yellowColor], [UIColor magentaColor], [UIColor orangeColor], [UIColor purpleColor]];
+
+    [self configurePageControl];
+    [self pageControlValueDidChange];
+}
+
+
+#pragma mark - Configuration
+
+- (void)configurePageControl {
+    // The total number of pages that are available is based on how many available colors we have.
+    self.pageControl.numberOfPages = [self.colors count];
+    self.pageControl.currentPage = 2;
+
+    self.pageControl.tintColor = [UIColor aapl_applicationBlueColor];
+    self.pageControl.pageIndicatorTintColor = [UIColor aapl_applicationGreenColor];
+    self.pageControl.currentPageIndicatorTintColor = [UIColor aapl_applicationPurpleColor];
+
+    [self.pageControl addTarget:self action:@selector(pageControlValueDidChange) forControlEvents:UIControlEventValueChanged];
+}
+
+
+#pragma mark - Actions
+
+- (void)pageControlValueDidChange {
+    NSLog(@"The page control changed its current page to %ld.", (long)self.pageControl.currentPage);
+
+    self.colorView.backgroundColor = self.colors[self.pageControl.currentPage];
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLPickerViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLPickerViewController.h
+    Abstract: A view controller that demonstrates how to use UIPickerView.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLPickerViewController : UIViewController
+@end

+ 239 - 0
Example/UICatalog/AAPLPickerViewController.m

@@ -0,0 +1,239 @@
+/*
+        File: AAPLPickerViewController.m
+    Abstract: A view controller that demonstrates how to use UIPickerView.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLPickerViewController.h"
+
+typedef NS_ENUM(NSInteger, AAPLPickerViewControllerColorComponent) {
+    AAPLColorComponentRed = 0,
+    AAPLColorComponentGreen,
+    AAPLColorComponentBlue,
+    AAPLColorComponentCount
+};
+
+// The maximum RGB color
+#define AAPL_RGB_MAX 255.0
+
+@interface AAPLPickerViewController()<UIPickerViewDataSource, UIPickerViewDelegate, UIPickerViewAccessibilityDelegate>
+
+@property (nonatomic, weak) IBOutlet UIPickerView *pickerView;
+@property (nonatomic, weak) IBOutlet UIView *colorSwatchView;
+
+@property (nonatomic) CGFloat redColorComponent;
+@property (nonatomic) CGFloat greenColorComponent;
+@property (nonatomic) CGFloat blueColorComponent;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLPickerViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    
+    // Show that a given row is selected. This is off by default.
+    self.pickerView.showsSelectionIndicator = YES;
+
+    [self configurePickerView];
+}
+
+// The offset of each color value (from 0 to 255) for red, green, and blue.
+- (NSInteger)colorValueOffset {
+    return 5;
+}
+
+- (NSInteger)numberOfColorValuesPerComponent {
+    return (NSInteger)ceil(AAPL_RGB_MAX / (CGFloat)[self colorValueOffset]) + 1;
+}
+
+- (void)updateColorSwatchViewBackgroundColor {
+    self.colorSwatchView.backgroundColor = [UIColor colorWithRed:self.redColorComponent green:self.greenColorComponent blue:self.blueColorComponent alpha:1];
+}
+
+
+#pragma mark - Configuration
+
+- (void)configurePickerView {
+    // Set the default selected rows (the desired rows to initially select will vary by use case).
+    [self selectRowInPickerView:13 withColorComponent:AAPLColorComponentRed];
+    [self selectRowInPickerView:41 withColorComponent:AAPLColorComponentGreen];
+    [self selectRowInPickerView:24 withColorComponent:AAPLColorComponentBlue];
+}
+
+- (void)selectRowInPickerView:(NSInteger)row withColorComponent:(AAPLPickerViewControllerColorComponent)colorComponent {
+    // Note that the delegate method on UIPickerViewDelegate is not triggered when manually calling -[UIPickerView selectRow:inComponent:animated:].
+    // To do this, we fire off the delegate method manually.
+    [self.pickerView selectRow:row inComponent:(NSInteger)colorComponent animated:YES];
+    [self pickerView:self.pickerView didSelectRow:row inComponent:(NSInteger)colorComponent];
+}
+
+
+#pragma mark - RGB Color Setter Overrides
+
+- (void)setRedColorComponent:(CGFloat)redColorComponent {
+    if (_redColorComponent != redColorComponent) {
+        _redColorComponent = redColorComponent;
+
+        [self updateColorSwatchViewBackgroundColor];
+    }
+}
+
+- (void)setGreenColorComponent:(CGFloat)greenColorComponent {
+    if (_greenColorComponent != greenColorComponent) {
+        _greenColorComponent = greenColorComponent;
+
+        [self updateColorSwatchViewBackgroundColor];
+    }
+}
+
+- (void)setBlueColorComponent:(CGFloat)blueColorComponent {
+    if (_blueColorComponent != blueColorComponent) {
+        _blueColorComponent = blueColorComponent;
+
+        [self updateColorSwatchViewBackgroundColor];
+    }
+}
+
+
+#pragma mark - UIPickerViewDataSource
+
+- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
+    return AAPLColorComponentCount;
+}
+
+- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
+    return [self numberOfColorValuesPerComponent];
+}
+
+
+#pragma mark - UIPickerViewDelegate
+
+- (NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component {
+    NSInteger colorValue = row * [self colorValueOffset];
+
+    CGFloat colorComponent = (CGFloat)colorValue / AAPL_RGB_MAX;
+    CGFloat redColorComponent = 0;
+    CGFloat greenColorComponent = 0;
+    CGFloat blueColorComponent = 0;
+
+    switch (component) {
+        case AAPLColorComponentRed:
+            redColorComponent = colorComponent;
+            break;
+        case AAPLColorComponentGreen:
+            greenColorComponent = colorComponent;
+            break;
+        case AAPLColorComponentBlue:
+            blueColorComponent = colorComponent;
+            break;
+        default:
+            NSLog(@"Invalid row/component combination for picker view.");
+            break;
+    }
+
+    UIColor *foregroundColor = [UIColor colorWithRed:redColorComponent green:greenColorComponent blue:blueColorComponent alpha:1];
+
+    NSString *titleText = [NSString stringWithFormat:@"%ld", (long)colorValue];
+
+    // Set the foreground color for the attributed string.
+    NSDictionary *attributes = @{NSForegroundColorAttributeName: foregroundColor};
+    NSAttributedString *title = [[NSAttributedString alloc] initWithString:titleText attributes:attributes];
+
+    return title;
+}
+
+- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
+    CGFloat colorComponentValue = ((CGFloat)[self colorValueOffset] * row)/AAPL_RGB_MAX;
+
+    switch (component) {
+        case AAPLColorComponentRed:
+            self.redColorComponent = colorComponentValue;
+            break;
+
+        case AAPLColorComponentGreen:
+            self.greenColorComponent = colorComponentValue;
+            break;
+
+        case AAPLColorComponentBlue:
+            self.blueColorComponent = colorComponentValue;
+            break;
+            
+        default:
+            NSLog(@"Invalid row/component combination selected for picker view.");
+            break;
+    }
+}
+
+
+#pragma mark - UIPickerViewAccessibilityDelegate
+
+- (NSString *)pickerView:(UIPickerView *)pickerView accessibilityLabelForComponent:(NSInteger)component {
+    NSString *accessibilityLabel;
+
+    switch (component) {
+        case AAPLColorComponentRed:
+            accessibilityLabel = NSLocalizedString(@"Red color component value", nil);
+            break;
+            
+        case AAPLColorComponentGreen:
+            accessibilityLabel = NSLocalizedString(@"Green color component value", nil);
+            break;
+            
+        case AAPLColorComponentBlue:
+            accessibilityLabel = NSLocalizedString(@"Blue color component value", nil);
+            break;
+            
+        default:
+            NSLog(@"Invalid row/component combination for picker view.");
+            break;
+    }
+
+    return accessibilityLabel;
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLProgressViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLProgressViewController.h
+    Abstract: A view controller that demonstrates how to use UIProgressView.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLProgressViewController : UITableViewController
+@end

+ 136 - 0
Example/UICatalog/AAPLProgressViewController.m

@@ -0,0 +1,136 @@
+/*
+        File: AAPLProgressViewController.m
+    Abstract: A view controller that demonstrates how to use UIProgressView.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLProgressViewController.h"
+
+const NSUInteger kProgressViewControllerMaxProgress = 100;
+
+
+@interface AAPLProgressViewController()
+
+@property (nonatomic, weak) IBOutlet UIProgressView *defaultStyleProgressView;
+@property (nonatomic, weak) IBOutlet UIProgressView *barStyleProgressView;
+@property (nonatomic, weak) IBOutlet UIProgressView *tintedProgressView;
+
+@property (nonatomic) NSOperationQueue *operationQueue;
+@property (nonatomic) NSUInteger completedProgress;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLProgressViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+
+    // All progress views should initially have zero progress.
+    self.completedProgress = 0;
+
+    [self configureDefaultStyleProgressView];
+    [self configureBarStyleProgressView];
+    [self configureTintedProgressView];
+
+    // As progress is received from another subsystem (i.e. NSProgress, NSURLSessionTaskDelegate, etc.), update the progressView's progress.
+    [self simulateProgress];
+}
+
+// Overrides the "completedProgress" property's setter.
+- (void)setCompletedProgress:(NSUInteger)completedProgress {
+    if (_completedProgress != completedProgress) {
+        float fractionalProgress = (float)completedProgress / (float)kProgressViewControllerMaxProgress;
+
+        [self.defaultStyleProgressView setProgress:fractionalProgress animated:YES];
+
+        [self.barStyleProgressView setProgress:fractionalProgress animated:YES];
+
+        [self.tintedProgressView setProgress:fractionalProgress animated:YES];
+
+        _completedProgress = completedProgress;
+    }
+}
+
+
+#pragma mark - Configuration
+
+- (void)configureDefaultStyleProgressView {
+    self.defaultStyleProgressView.progressViewStyle = UIProgressViewStyleDefault;
+}
+
+- (void)configureBarStyleProgressView {
+    self.barStyleProgressView.progressViewStyle = UIProgressViewStyleBar;
+}
+
+- (void)configureTintedProgressView {
+    self.tintedProgressView.progressViewStyle = UIProgressViewStyleDefault;
+
+    self.tintedProgressView.trackTintColor = [UIColor aapl_applicationBlueColor];
+    self.tintedProgressView.progressTintColor = [UIColor aapl_applicationPurpleColor];
+}
+
+
+#pragma mark - Progress Simulation
+
+- (void)simulateProgress {
+    // In this example we will simulate progress with a "sleep operation".
+    self.operationQueue = [[NSOperationQueue alloc] init];
+    
+    for (NSUInteger count = 0; count < kProgressViewControllerMaxProgress; count++) {
+        [self.operationQueue addOperationWithBlock:^{
+            // Delay the system for a random number of seconds.
+            // This code is _not_ intended for production purposes. The "sleep" call is meant to simulate work done in another subsystem.
+            sleep(arc4random_uniform(10));
+            
+            [[NSOperationQueue mainQueue] addOperationWithBlock:^{
+                self.completedProgress++;
+            }];
+        }];
+    }
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLSegmentedControlViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLSegmentedControlViewController.h
+    Abstract: A view controller that demonstrates how to use UISegmentedControl.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLSegmentedControlViewController : UITableViewController
+@end

+ 145 - 0
Example/UICatalog/AAPLSegmentedControlViewController.m

@@ -0,0 +1,145 @@
+/*
+        File: AAPLSegmentedControlViewController.m
+    Abstract: A view controller that demonstrates how to use UISegmentedControl.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLSegmentedControlViewController.h"
+
+@interface AAPLSegmentedControlViewController()
+
+@property (nonatomic, weak) IBOutlet UISegmentedControl *defaultSegmentedControl;
+@property (nonatomic, weak) IBOutlet UISegmentedControl *tintedSegmentedControl;
+@property (nonatomic, weak) IBOutlet UISegmentedControl *customSegmentsSegmentedControl;
+@property (nonatomic, weak) IBOutlet UISegmentedControl *customBackgroundSegmentedControl;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLSegmentedControlViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+
+    [self configureDefaultSegmentedControl];
+    [self configureTintedSegmentedControl];
+    [self configureCustomSegmentsSegmentedControl];
+    [self configureCustomBackgroundSegmentedControl];
+}
+
+
+#pragma mark - Configuration
+
+- (void)configureDefaultSegmentedControl {
+    self.defaultSegmentedControl.momentary = YES;
+
+    [self.defaultSegmentedControl setEnabled:NO forSegmentAtIndex:0];
+
+    [self.defaultSegmentedControl addTarget:self action:@selector(selectedSegmentDidChange:) forControlEvents:UIControlEventValueChanged];
+}
+
+- (void)configureTintedSegmentedControl {
+    self.tintedSegmentedControl.tintColor = [UIColor aapl_applicationBlueColor];
+
+    self.tintedSegmentedControl.selectedSegmentIndex = 1;
+
+    [self.tintedSegmentedControl addTarget:self action:@selector(selectedSegmentDidChange:) forControlEvents:UIControlEventValueChanged];
+}
+
+- (void)configureCustomSegmentsSegmentedControl {
+    NSDictionary *imageToAccesssibilityLabelMappings = @{
+        @"checkmark_icon": NSLocalizedString(@"Done", nil),
+        @"search_icon": NSLocalizedString(@"Search", nil),
+        @"tools_icon": NSLocalizedString(@"Settings", nil)
+    };
+    
+    // Guarantee that the segments show up in the same order.
+    NSArray *sortedSegmentImageNames = [[imageToAccesssibilityLabelMappings allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
+
+    [sortedSegmentImageNames enumerateObjectsUsingBlock:^(NSString *segmentImageName, NSUInteger idx, BOOL *stop) {
+        UIImage *image = [UIImage imageNamed:segmentImageName];
+        
+        image.accessibilityLabel = imageToAccesssibilityLabelMappings[segmentImageName];
+        
+        [self.customSegmentsSegmentedControl setImage:image forSegmentAtIndex:idx];
+    }];
+    
+    self.customSegmentsSegmentedControl.selectedSegmentIndex = 0;
+    
+    [self.customSegmentsSegmentedControl addTarget:self action:@selector(selectedSegmentDidChange:) forControlEvents:UIControlEventValueChanged];
+}
+
+- (void)configureCustomBackgroundSegmentedControl {
+    self.customBackgroundSegmentedControl.selectedSegmentIndex = 2;
+    
+    [self.customBackgroundSegmentedControl setBackgroundImage:[UIImage imageNamed:@"stepper_and_segment_background"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
+
+    [self.customBackgroundSegmentedControl setBackgroundImage:[UIImage imageNamed:@"stepper_and_segment_background_disabled"] forState:UIControlStateDisabled barMetrics:UIBarMetricsDefault];
+
+    [self.customBackgroundSegmentedControl setBackgroundImage:[UIImage imageNamed:@"stepper_and_segment_background_highlighted"] forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
+    
+    [self.customBackgroundSegmentedControl setDividerImage:[UIImage imageNamed:@"stepper_and_segment_segment_divider"] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
+
+    UIFontDescriptor *captionFontDescriptor = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleCaption1];
+    UIFont *font = [UIFont fontWithDescriptor:captionFontDescriptor size:0];
+
+    NSDictionary *normalTextAttributes = @{NSForegroundColorAttributeName:[UIColor aapl_applicationPurpleColor], NSFontAttributeName:font};
+    [self.customBackgroundSegmentedControl setTitleTextAttributes:normalTextAttributes forState:UIControlStateNormal];
+
+    NSDictionary *highlightedTextAttributes = @{NSForegroundColorAttributeName:[UIColor aapl_applicationGreenColor], NSFontAttributeName:font};
+    [self.customBackgroundSegmentedControl setTitleTextAttributes:highlightedTextAttributes forState:UIControlStateHighlighted];
+    
+    [self.customBackgroundSegmentedControl addTarget:self action:@selector(selectedSegmentDidChange:) forControlEvents:UIControlEventValueChanged];
+}
+
+
+#pragma mark - Actions
+
+- (void)selectedSegmentDidChange:(UISegmentedControl *)segmentedControl {
+    NSLog(@"The selected segment changed for: %@.", segmentedControl);
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLSliderViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLSliderViewController.h
+    Abstract: A view controller that demonstrates how to use UISlider.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLSliderViewController : UITableViewController
+@end

+ 115 - 0
Example/UICatalog/AAPLSliderViewController.m

@@ -0,0 +1,115 @@
+/*
+        File: AAPLSliderViewController.m
+    Abstract: A view controller that demonstrates how to use UISlider.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLSliderViewController.h"
+
+@interface AAPLSliderViewController ()
+
+@property (nonatomic, weak) IBOutlet UISlider *defaultSlider;
+@property (nonatomic, weak) IBOutlet UISlider *tintedSlider;
+@property (nonatomic, weak) IBOutlet UISlider *customSlider;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLSliderViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+
+    [self configureDefaultSlider];
+    [self configureTintedSlider];
+    [self configureCustomSlider];
+}
+
+
+#pragma mark - Configuration
+
+- (void)configureDefaultSlider {
+    self.defaultSlider.minimumValue = 0;
+    self.defaultSlider.maximumValue = 100;
+    self.defaultSlider.value = 42;
+    self.defaultSlider.continuous = YES;
+    
+    [self.defaultSlider addTarget:self action:@selector(sliderValueDidChange:) forControlEvents:UIControlEventValueChanged];
+}
+
+- (void)configureTintedSlider {
+    self.tintedSlider.minimumTrackTintColor = [UIColor aapl_applicationBlueColor];
+    self.tintedSlider.maximumTrackTintColor = [UIColor aapl_applicationPurpleColor];
+
+    [self.tintedSlider addTarget:self action:@selector(sliderValueDidChange:) forControlEvents:UIControlEventValueChanged];
+}
+
+- (void)configureCustomSlider {
+    UIImage *leftTrackImage = [UIImage imageNamed:@"slider_blue_track"];
+    [self.customSlider setMinimumTrackImage:leftTrackImage forState:UIControlStateNormal];
+    
+    UIImage *rightTrackImage = [UIImage imageNamed:@"slider_green_track"];
+    [self.customSlider setMaximumTrackImage:rightTrackImage forState:UIControlStateNormal];
+    
+    UIImage *thumbImage = [UIImage imageNamed:@"slider_thumb"];
+    [self.customSlider setThumbImage:thumbImage forState:UIControlStateNormal];
+    
+    self.customSlider.minimumValue = 0;
+    self.customSlider.maximumValue = 100;
+    self.customSlider.continuous = NO;
+    self.customSlider.value = 84;
+
+    [self.customSlider addTarget:self action:@selector(sliderValueDidChange:) forControlEvents:UIControlEventValueChanged];
+}
+
+
+#pragma mark - Actions
+
+- (void)sliderValueDidChange:(UISlider *)slider {
+    NSLog(@"A slider changed its value: %@", slider);
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLSplitViewControllerDelegate.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLSplitViewControllerDelegate.h
+    Abstract: An iPad-only class that ensures that the root view controller of the application always has the bar button item displayed when in portrait. See AAPLMasterViewController for more information.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLSplitViewControllerDelegate : NSObject <UISplitViewControllerDelegate>
+@end

+ 78 - 0
Example/UICatalog/AAPLSplitViewControllerDelegate.m

@@ -0,0 +1,78 @@
+/*
+        File: AAPLSplitViewControllerDelegate.m
+    Abstract: An iPad-only class that ensures that the root view controller of the application always has the bar button item displayed when in portrait. See AAPLMasterViewController for more information.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLSplitViewControllerDelegate.h"
+
+@implementation AAPLSplitViewControllerDelegate
+
+#pragma mark - UISplitViewControllerDelegate
+
+// Implementing this delegate method allows us to present the detail view controller with the "More" bar button item.
+- (void)splitViewController:(UISplitViewController *)splitViewController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController {
+    barButtonItem.title = NSLocalizedString(@"UICatalog", nil);
+
+    UINavigationController *detailViewController = [splitViewController.viewControllers lastObject];
+
+    // It's possible that the detail view controller has more than one view controller currently in its heirarchy. If this is the case, we
+    // want to be sure that the root view controller of the navigation controller has its left bar button item set on its navigation item.
+    // We don't want to override the navigation controller's top view controller's "Back" bar button item with the "More" bar button item.
+    UIViewController *detailRootViewController = [detailViewController.viewControllers firstObject];
+
+    [detailRootViewController.navigationItem setLeftBarButtonItem:barButtonItem animated:YES];
+}
+
+// This method is similar to the one above except that it removes the bar button on the detail view controller's root view controller
+// since the interface orientation is now portrait.
+- (void)splitViewController:(UISplitViewController *)splitViewController willShowViewController:(UIViewController *)viewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem {
+    UINavigationController *detailViewController = [splitViewController.viewControllers lastObject];
+    
+    UIViewController *detailRootViewController = [detailViewController.viewControllers firstObject];
+
+    [detailRootViewController.navigationItem setLeftBarButtonItem:nil animated:YES];
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLStepperViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLStepperViewController.h
+    Abstract: A view controller that demonstrates how to use UIStepper.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLStepperViewController : UITableViewController
+@end

+ 135 - 0
Example/UICatalog/AAPLStepperViewController.m

@@ -0,0 +1,135 @@
+/*
+        File: AAPLStepperViewController.m
+    Abstract: A view controller that demonstrates how to use UIStepper.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLStepperViewController.h"
+
+@interface AAPLStepperViewController ()
+
+@property (nonatomic, weak) IBOutlet UIStepper *defaultStepper;
+@property (nonatomic, weak) IBOutlet UIStepper *tintedStepper;
+@property (nonatomic, weak) IBOutlet UIStepper *customStepper;
+
+@property (nonatomic, weak) IBOutlet UILabel *defaultStepperLabel;
+@property (nonatomic, weak) IBOutlet UILabel *tintedStepperLabel;
+@property (nonatomic, weak) IBOutlet UILabel *customStepperLabel;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLStepperViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+
+    [self configureDefaultStepper];
+    [self configureTintedStepper];
+    [self configureCustomStepper];
+}
+
+
+#pragma mark - Configuration
+
+- (void)configureDefaultStepper {
+    self.defaultStepper.value = 0;
+    self.defaultStepper.minimumValue = 0;
+    self.defaultStepper.maximumValue = 10;
+    self.defaultStepper.stepValue = 1;
+
+    self.defaultStepperLabel.text = [NSString stringWithFormat:@"%ld", (long)self.defaultStepper.value];
+    [self.defaultStepper addTarget:self action:@selector(stepperValueDidChange:) forControlEvents:UIControlEventValueChanged];
+}
+
+- (void)configureTintedStepper {
+    self.tintedStepper.tintColor = [UIColor aapl_applicationBlueColor];
+
+    self.tintedStepperLabel.text = [NSString stringWithFormat:@"%ld", (long)self.tintedStepper.value];
+    [self.tintedStepper addTarget:self action:@selector(stepperValueDidChange:) forControlEvents:UIControlEventValueChanged];
+}
+
+- (void)configureCustomStepper {
+    // Set the background image states.
+    [self.customStepper setBackgroundImage:[UIImage imageNamed:@"stepper_and_segment_background"] forState:UIControlStateNormal];
+    [self.customStepper setBackgroundImage:[UIImage imageNamed:@"stepper_and_segment_background_highlighted"] forState:UIControlStateHighlighted];
+    [self.customStepper setBackgroundImage:[UIImage imageNamed:@"stepper_and_segment_background_disabled"] forState:UIControlStateDisabled];
+    
+    // Set the image which will be painted in between the two stepper segments (depends on the states of both segments).
+    [self.customStepper setDividerImage:[UIImage imageNamed:@"stepper_and_segment_divider"] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal];
+    
+    // Set the image for the + button.
+    [self.customStepper setIncrementImage:[UIImage imageNamed:@"stepper_increment"] forState:UIControlStateNormal];
+    
+    // Set the image for the - button.
+    [self.customStepper setDecrementImage:[UIImage imageNamed:@"stepper_decrement"] forState:UIControlStateNormal];
+
+    self.customStepperLabel.text = [NSString stringWithFormat:@"%ld", (long)self.customStepper.value];
+    [self.customStepper addTarget:self action:@selector(stepperValueDidChange:) forControlEvents:UIControlEventValueChanged];
+}
+
+
+#pragma mark - Actions
+
+- (void)stepperValueDidChange:(UIStepper *)stepper {
+    NSLog(@"A stepper changed its value: %@.", stepper);
+
+    // Figure out which stepper was selected and update its associated label.
+    UILabel *stepperLabel;
+    if (self.defaultStepper == stepper) {
+        stepperLabel = self.defaultStepperLabel;
+    }
+    else if (self.tintedStepper == stepper) {
+        stepperLabel = self.tintedStepperLabel;
+    }
+    else if (self.customStepper == stepper) {
+        stepperLabel = self.customStepperLabel;
+    }
+
+    stepperLabel.text = [NSString stringWithFormat:@"%ld", (long)stepper.value];
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLSwitchViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLSwitchViewController.h
+    Abstract: A view controller that demonstrates how to use UISwitch.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLSwitchViewController : UITableViewController
+@end

+ 93 - 0
Example/UICatalog/AAPLSwitchViewController.m

@@ -0,0 +1,93 @@
+/*
+        File: AAPLSwitchViewController.m
+    Abstract: A view controller that demonstrates how to use UISwitch.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLSwitchViewController.h"
+
+@interface AAPLSwitchViewController ()
+
+@property (nonatomic, weak) IBOutlet UISwitch *defaultSwitch;
+@property (nonatomic, weak) IBOutlet UISwitch *tintedSwitch;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLSwitchViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+
+    [self configureDefaultSwitch];
+    [self configureTintedSwitch];
+}
+
+
+#pragma mark - Configuration
+
+- (void)configureDefaultSwitch {
+    [self.defaultSwitch setOn:YES animated:YES];
+
+    [self.defaultSwitch addTarget:self action:@selector(switchValueDidChange:) forControlEvents:UIControlEventValueChanged];
+}
+
+- (void)configureTintedSwitch {
+    self.tintedSwitch.tintColor = [UIColor aapl_applicationBlueColor];
+    self.tintedSwitch.onTintColor = [UIColor aapl_applicationGreenColor];
+    self.tintedSwitch.thumbTintColor = [UIColor aapl_applicationPurpleColor];
+
+    [self.tintedSwitch addTarget:self action:@selector(switchValueDidChange:) forControlEvents:UIControlEventValueChanged];
+}
+
+
+#pragma mark - Actions
+
+- (void)switchValueDidChange:(UISwitch *)aSwitch {
+    NSLog(@"A switch changed its value: %@.", aSwitch);
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLTextFieldViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLTextFieldViewController.h
+    Abstract: A view controller that demonstrates how to use UITextField.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLTextFieldViewController : UITableViewController
+@end

+ 157 - 0
Example/UICatalog/AAPLTextFieldViewController.m

@@ -0,0 +1,157 @@
+/*
+        File: AAPLTextFieldViewController.m
+    Abstract: A view controller that demonstrates how to use UITextField.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLTextFieldViewController.h"
+
+@interface AAPLTextFieldViewController()<UITextFieldDelegate>
+
+@property (nonatomic, weak) IBOutlet UITextField *textField;
+@property (nonatomic, weak) IBOutlet UITextField *tintedTextField;
+@property (nonatomic, weak) IBOutlet UITextField *secureTextField;
+@property (nonatomic, weak) IBOutlet UITextField *specificKeyboardTextField;
+@property (nonatomic, weak) IBOutlet UITextField *customTextField;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLTextFieldViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+
+    [self configureTextField];
+    [self configureTintedTextField];
+    [self configureSecureTextField];
+    [self configureSpecificKeyboardTextField];
+    [self configureCustomTextField];
+}
+
+
+#pragma mark - Configuration
+
+- (void)configureTextField {
+    self.textField.placeholder = NSLocalizedString(@"Placeholder text", nil);
+    self.textField.autocorrectionType = UITextAutocorrectionTypeYes;
+    self.textField.returnKeyType = UIReturnKeyDone;
+    self.textField.clearButtonMode = UITextFieldViewModeNever;
+}
+
+- (void)configureTintedTextField {
+    self.tintedTextField.tintColor = [UIColor aapl_applicationBlueColor];
+    self.tintedTextField.textColor = [UIColor aapl_applicationGreenColor];
+
+    self.tintedTextField.placeholder = NSLocalizedString(@"Placeholder text", nil);
+    self.tintedTextField.returnKeyType = UIReturnKeyDone;
+    self.tintedTextField.clearButtonMode = UITextFieldViewModeNever;
+}
+
+- (void)configureSecureTextField {
+    self.secureTextField.secureTextEntry = YES;
+
+    self.secureTextField.placeholder = NSLocalizedString(@"Placeholder text", nil);
+    self.secureTextField.returnKeyType = UIReturnKeyDone;
+    self.secureTextField.clearButtonMode = UITextFieldViewModeAlways;
+}
+
+/// There are many different types of keyboards that you may choose to use.
+/// The different types of keyboards are defined in UITextInputTraits.h.
+/// This example shows how to display a keyboard to help enter email addresses.
+- (void)configureSpecificKeyboardTextField {
+    self.specificKeyboardTextField.keyboardType = UIKeyboardTypeEmailAddress;
+
+    self.specificKeyboardTextField.placeholder = NSLocalizedString(@"Placeholder text", nil);
+    self.specificKeyboardTextField.returnKeyType = UIReturnKeyDone;
+}
+
+- (void)configureCustomTextField {
+    // Text fields with custom image backgrounds must have no border.
+    self.customTextField.borderStyle = UITextBorderStyleNone;
+    
+    self.customTextField.background = [UIImage imageNamed:@"text_field_background"];
+    
+    // Create purple button that, when selected, turns the custom text field's text color to purple.
+    UIImage *purpleImage = [UIImage imageNamed:@"text_field_purple_right_view"];
+    UIButton *purpleImageButton = [UIButton buttonWithType:UIButtonTypeCustom];
+    purpleImageButton.bounds = CGRectMake(0, 0, purpleImage.size.width, purpleImage.size.height);
+    purpleImageButton.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 5);
+    [purpleImageButton setImage:purpleImage forState:UIControlStateNormal];
+    [purpleImageButton addTarget:self action:@selector(customTextFieldPurpleButtonClicked) forControlEvents:UIControlEventTouchUpInside];
+    self.customTextField.rightView = purpleImageButton;
+    self.customTextField.rightViewMode = UITextFieldViewModeAlways;
+
+    // Add an empty view as the left view to ensure inset between the text and the bounding rectangle.
+    UIView *leftPaddingView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 0)];
+    leftPaddingView.backgroundColor = [UIColor clearColor];
+    self.customTextField.leftView = leftPaddingView;
+    self.customTextField.leftViewMode = UITextFieldViewModeAlways;
+
+    self.customTextField.placeholder = NSLocalizedString(@"Placeholder text", nil);
+    self.customTextField.autocorrectionType = UITextAutocorrectionTypeNo;
+    self.customTextField.returnKeyType = UIReturnKeyDone;
+}
+
+
+#pragma mark - UITextFieldDelegate (set in Interface Builder)
+
+- (BOOL)textFieldShouldReturn:(UITextField *)textField {
+    [textField resignFirstResponder];
+    
+    return YES;
+}
+
+
+#pragma mark - Actions
+
+- (void)customTextFieldPurpleButtonClicked {
+    self.customTextField.textColor = [UIColor aapl_applicationPurpleColor];
+
+    NSLog(@"The custom text field's purple right view button was clicked.");
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLTextViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLTextViewController.h
+    Abstract: A view controller that demonstrates how to use UITextView.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLTextViewController : UIViewController
+@end

+ 216 - 0
Example/UICatalog/AAPLTextViewController.m

@@ -0,0 +1,216 @@
+/*
+     File: AAPLTextViewController.m
+ Abstract: A view controller that demonstrates how to use UITextView.
+  Version: 2.12
+ 
+ Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+ Inc. ("Apple") in consideration of your agreement to the following
+ terms, and your use, installation, modification or redistribution of
+ this Apple software constitutes acceptance of these terms.  If you do
+ not agree with these terms, please do not use, install, modify or
+ redistribute this Apple software.
+ 
+ In consideration of your agreement to abide by the following terms, and
+ subject to these terms, Apple grants you a personal, non-exclusive
+ license, under Apple's copyrights in this original Apple software (the
+ "Apple Software"), to use, reproduce, modify and redistribute the Apple
+ Software, with or without modifications, in source and/or binary forms;
+ provided that if you redistribute the Apple Software in its entirety and
+ without modifications, you must retain this notice and the following
+ text and disclaimers in all such redistributions of the Apple Software.
+ Neither the name, trademarks, service marks or logos of Apple Inc. may
+ be used to endorse or promote products derived from the Apple Software
+ without specific prior written permission from Apple.  Except as
+ expressly stated in this notice, no other rights or licenses, express or
+ implied, are granted by Apple herein, including but not limited to any
+ patent rights that may be infringed by your derivative works or by other
+ works in which the Apple Software may be incorporated.
+ 
+ The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+ MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+ THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+ FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+ OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+ 
+ IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+ MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+ AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+ STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+ 
+ Copyright (C) 2014 Apple Inc. All Rights Reserved.
+ 
+ */
+
+#import "AAPLTextViewController.h"
+
+@interface AAPLTextViewController()<UITextViewDelegate>
+
+@property (nonatomic, weak) IBOutlet UITextView *textView;
+
+// Used to adjust the text view's height when the keyboard hides and shows.
+@property (nonatomic, weak) IBOutlet NSLayoutConstraint *textViewBottomLayoutGuideConstraint;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLTextViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+
+    [self configureTextView];
+}
+
+- (void)viewWillAppear:(BOOL)animated {
+    [super viewWillAppear:animated];
+    
+    // Listen for changes to keyboard visibility so that we can adjust the text view accordingly.
+    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleKeyboardNotification:) name:UIKeyboardWillShowNotification object:nil];
+    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleKeyboardNotification:) name:UIKeyboardWillHideNotification object:nil];
+}
+
+- (void)viewDidDisappear:(BOOL)animated {
+    [super viewDidDisappear:animated];
+    
+    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];
+    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];
+}
+
+
+#pragma mark - Keyboard Event Notifications
+
+- (void)handleKeyboardNotification:(NSNotification *)notification {
+    NSDictionary *userInfo = notification.userInfo;
+    UIViewAnimationCurve animationCurve = [userInfo[UIKeyboardAnimationCurveUserInfoKey] unsignedIntegerValue];
+    
+    // Transform the UIViewAnimationCurve to a UIViewAnimationOptions mask.
+    UIViewAnimationOptions animationOptions = UIViewAnimationOptionBeginFromCurrentState;
+    if (animationCurve == UIViewAnimationCurveEaseIn) {
+        animationOptions |= UIViewAnimationOptionCurveEaseIn;
+    }
+    else if (animationCurve == UIViewAnimationCurveEaseInOut) {
+        animationOptions |= UIViewAnimationOptionCurveEaseInOut;
+    }
+    else if (animationCurve == UIViewAnimationCurveEaseOut) {
+        animationOptions |= UIViewAnimationOptionCurveEaseOut;
+    }
+    else if (animationCurve == UIViewAnimationCurveLinear) {
+        animationOptions |= UIViewAnimationOptionCurveLinear;
+    }
+    
+    NSTimeInterval animationDuration = [userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];
+    
+    // Convert the keyboard frame from screen to view coordinates.
+    CGRect keyboardScreenEndFrame = [[userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
+    CGRect keyboardScreenBeginFrame = [[userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue];
+
+    CGRect keyboardViewEndFrame = [self.view convertRect:keyboardScreenEndFrame fromView:self.view.window];
+    CGRect keyboardViewBeginFrame = [self.view convertRect:keyboardScreenBeginFrame fromView:self.view.window];
+    CGFloat originDelta = keyboardViewEndFrame.origin.y - keyboardViewBeginFrame.origin.y;
+    
+    // The text view should be adjusted, update the constant for this constraint.
+    self.textViewBottomLayoutGuideConstraint.constant -= originDelta;
+
+    [self.view setNeedsUpdateConstraints];
+    
+    [UIView animateWithDuration:animationDuration delay:0 options:animationOptions animations:^{
+        [self.view layoutIfNeeded];
+    } completion:nil];
+    
+    // Scroll to the selected text once the keyboard frame changes.
+    NSRange selectedRange = self.textView.selectedRange;
+    [self.textView scrollRangeToVisible:selectedRange];
+}
+
+
+#pragma mark - Configuration
+
+- (void)configureTextView {
+    UIFontDescriptor *bodyFontDescriptor = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleBody];
+    self.textView.font = [UIFont fontWithDescriptor:bodyFontDescriptor size:0];
+
+    self.textView.textColor = [UIColor blackColor];
+    self.textView.backgroundColor = [UIColor whiteColor];
+    self.textView.scrollEnabled = YES;
+
+    // Let's modify some of the attributes of the attributed string.
+    // You can modify these attributes yourself to get a better feel for what they do.
+    // Note that the initial text is visible in the storyboard.
+    NSMutableAttributedString *attributedText = [self.textView.attributedText mutableCopy];
+
+    NSString *text = self.textView.text;
+
+    // Find the range of each element to modify.
+    NSRange boldRange = [text rangeOfString:NSLocalizedString(@"bold", nil)];
+    NSRange highlightedRange = [text rangeOfString:NSLocalizedString(@"highlighted", nil)];
+    NSRange underlinedRange = [text rangeOfString:NSLocalizedString(@"underlined", nil)];
+    NSRange tintedRange = [text rangeOfString:NSLocalizedString(@"tinted", nil)];
+
+    // Add bold.
+    UIFontDescriptor *boldFontDescriptor = [self.textView.font.fontDescriptor fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold];
+    UIFont *boldFont = [UIFont fontWithDescriptor:boldFontDescriptor size:0];
+    [attributedText addAttribute:NSFontAttributeName value:boldFont range:boldRange];
+
+    // Add highlight.
+    [attributedText addAttribute:NSBackgroundColorAttributeName value:[UIColor aapl_applicationGreenColor] range:highlightedRange];
+
+    // Add underline.
+    [attributedText addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:underlinedRange];
+
+    // Add tint.
+    [attributedText addAttribute:NSForegroundColorAttributeName value:[UIColor aapl_applicationBlueColor] range:tintedRange];
+    
+    // Add an image attachment.
+    NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init];
+    UIImage *image = [UIImage imageNamed:@"text_view_attachment"];
+    textAttachment.image = image;
+    textAttachment.bounds = CGRectMake(0, 0, image.size.width, image.size.height);
+    NSAttributedString *textAttachmentString = [NSAttributedString attributedStringWithAttachment:textAttachment];
+    [attributedText appendAttributedString:textAttachmentString];
+    
+    self.textView.attributedText = attributedText;
+}
+
+
+#pragma mark - UITextViewDelegate
+
+- (void)adjustTextViewSelection:(UITextView *)textView {
+    // Ensure that the text view is visible by making the text view frame smaller as text can be slightly cropped at the bottom.
+    // Note that this is a workwaround to a bug in iOS.
+    [textView layoutIfNeeded];
+
+    CGRect caretRect = [textView caretRectForPosition:textView.selectedTextRange.end];
+    caretRect.size.height += textView.textContainerInset.bottom;
+    [textView scrollRectToVisible:caretRect animated:NO];
+}
+
+- (void)textViewDidBeginEditing:(UITextView *)textView {
+    // Provide a "Done" button for the user to select to signify completion with writing text in the text view.
+    UIBarButtonItem *doneBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneBarButtonItemClicked)];
+
+    [self.navigationItem setRightBarButtonItem:doneBarButtonItem animated:YES];
+
+    [self adjustTextViewSelection:textView];
+}
+
+- (void)textViewDidChangeSelection:(UITextView *)textView {
+    [self adjustTextViewSelection:textView];
+}
+
+
+#pragma mark - Actions
+
+- (void)doneBarButtonItemClicked {
+    // Dismiss the keyboard by removing it as the first responder.
+    [self.textView resignFirstResponder];
+
+    [self.navigationItem setRightBarButtonItem:nil animated:YES];
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLTintedToolbarViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLTintedToolbarViewController.h
+    Abstract: A view controller that demonstrates how to tint a UIToolbar.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLTintedToolbarViewController : UIViewController
+@end

+ 103 - 0
Example/UICatalog/AAPLTintedToolbarViewController.m

@@ -0,0 +1,103 @@
+/*
+        File: AAPLTintedToolbarViewController.m
+    Abstract: A view controller that demonstrates how to tint a UIToolbar.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLTintedToolbarViewController.h"
+
+@interface AAPLTintedToolbarViewController()
+
+@property (nonatomic, weak) IBOutlet UIToolbar *toolbar;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLTintedToolbarViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    
+    [self configureToolbar];
+}
+
+
+#pragma mark - Configuration
+
+- (void)configureToolbar {
+    // See the UIBarStyle enum for more styles, including UIBarStyleDefault.
+    self.toolbar.barStyle = UIBarStyleBlackTranslucent;
+
+    self.toolbar.tintColor = [UIColor aapl_applicationGreenColor];
+    self.toolbar.backgroundColor = [UIColor aapl_applicationBlueColor];
+    
+    NSArray *toolbarButtonItems = @[[self refreshBarButtonItem], [self flexibleSpaceBarButtonItem], [self actionBarButtonItem]];
+    [self.toolbar setItems:toolbarButtonItems animated:YES];
+}
+
+
+#pragma mark - UIBarButtonItem Creation and Configuration
+
+- (UIBarButtonItem *)refreshBarButtonItem {
+    return [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(barButtonItemClicked:)];
+}
+
+- (UIBarButtonItem *)flexibleSpaceBarButtonItem {
+    return [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:NULL];
+}
+
+- (UIBarButtonItem *)actionBarButtonItem {
+    return [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(barButtonItemClicked:)];
+}
+
+
+#pragma mark - Actions
+
+- (void)barButtonItemClicked:(UIBarButtonItem *)barButtonItem {
+    NSLog(@"A bar button item on the tinted toolbar was clicked: %@.", barButtonItem);
+}
+
+@end

+ 51 - 0
Example/UICatalog/AAPLWebViewController.h

@@ -0,0 +1,51 @@
+/*
+        File: AAPLWebViewController.h
+    Abstract: A view controller that demonstrates how to use UIWebView.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+@import UIKit;
+
+@interface AAPLWebViewController : UIViewController
+@end

+ 126 - 0
Example/UICatalog/AAPLWebViewController.m

@@ -0,0 +1,126 @@
+/*
+        File: AAPLWebViewController.m
+    Abstract: A view controller that demonstrates how to use UIWebView.
+     Version: 2.12
+    
+    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
+    Inc. ("Apple") in consideration of your agreement to the following
+    terms, and your use, installation, modification or redistribution of
+    this Apple software constitutes acceptance of these terms.  If you do
+    not agree with these terms, please do not use, install, modify or
+    redistribute this Apple software.
+    
+    In consideration of your agreement to abide by the following terms, and
+    subject to these terms, Apple grants you a personal, non-exclusive
+    license, under Apple's copyrights in this original Apple software (the
+    "Apple Software"), to use, reproduce, modify and redistribute the Apple
+    Software, with or without modifications, in source and/or binary forms;
+    provided that if you redistribute the Apple Software in its entirety and
+    without modifications, you must retain this notice and the following
+    text and disclaimers in all such redistributions of the Apple Software.
+    Neither the name, trademarks, service marks or logos of Apple Inc. may
+    be used to endorse or promote products derived from the Apple Software
+    without specific prior written permission from Apple.  Except as
+    expressly stated in this notice, no other rights or licenses, express or
+    implied, are granted by Apple herein, including but not limited to any
+    patent rights that may be infringed by your derivative works or by other
+    works in which the Apple Software may be incorporated.
+    
+    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
+    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+    
+    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+    Copyright (C) 2014 Apple Inc. All Rights Reserved.
+    
+*/
+
+#import "AAPLWebViewController.h"
+
+@interface AAPLWebViewController()<UITextFieldDelegate, UIWebViewDelegate>
+
+@property (nonatomic, weak) IBOutlet UIWebView *webView;
+@property (nonatomic, weak) IBOutlet UITextField *addressTextField;
+
+@end
+
+
+#pragma mark -
+
+@implementation AAPLWebViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    
+    [self configureWebView];
+    [self loadAddressURL];
+}
+
+- (void)viewWillDisappear:(BOOL)animated {
+    [super viewWillDisappear:animated];
+    
+    if ([UIApplication sharedApplication].isNetworkActivityIndicatorVisible) {
+        [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
+    }
+}
+
+- (void)loadAddressURL {
+    NSURL *requestURL = [NSURL URLWithString:self.addressTextField.text];
+    NSURLRequest *request = [NSURLRequest requestWithURL:requestURL];
+    [self.webView loadRequest:request];
+}
+
+
+#pragma mark - Configuration
+
+- (void)configureWebView {
+    self.webView.backgroundColor = [UIColor whiteColor];
+    self.webView.scalesPageToFit = YES;
+    self.webView.dataDetectorTypes = UIDataDetectorTypeAll;
+}
+
+
+#pragma mark - UIWebViewDelegate
+
+- (void)webViewDidStartLoad:(UIWebView *)webView {
+    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
+}
+
+- (void)webViewDidFinishLoad:(UIWebView *)webView {
+    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
+}
+
+- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
+    // Report the error inside the web view.
+    NSString *localizedErrorMessage = NSLocalizedString(@"An error occured:", nil);
+    NSString *errorFormatString = @"<!doctype html><html><body><div style=\"width: 100%%; text-align: center; font-size: 36pt;\">%@%@</div></body></html>";
+
+    NSString *errorHTML = [NSString stringWithFormat:errorFormatString, localizedErrorMessage, error.localizedDescription];
+    [self.webView loadHTMLString:errorHTML baseURL:nil];
+
+    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
+}
+
+
+#pragma mark - UITextFieldDelegate
+
+// This helps dismiss the keyboard when the "Done" button is clicked.
+- (BOOL)textFieldShouldReturn:(UITextField *)textField {
+    [textField resignFirstResponder];
+
+    [self loadAddressURL];
+    
+    return YES;
+}
+
+@end

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 2608 - 0
Example/UICatalog/Base.lproj/Main_iPad.storyboard


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 2250 - 0
Example/UICatalog/Base.lproj/Main_iPhone.storyboard


+ 53 - 0
Example/UICatalog/Images.xcassets/AppIcon.appiconset/Contents.json

@@ -0,0 +1,53 @@
+{
+  "images" : [
+    {
+      "idiom" : "iphone",
+      "size" : "29x29",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "40x40",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "iphone",
+      "size" : "60x60",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "29x29",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "29x29",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "40x40",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "40x40",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "76x76",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "76x76",
+      "scale" : "2x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 51 - 0
Example/UICatalog/Images.xcassets/LaunchImage.launchimage/Contents.json

@@ -0,0 +1,51 @@
+{
+  "images" : [
+    {
+      "orientation" : "portrait",
+      "idiom" : "iphone",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "iphone",
+      "subtype" : "retina4",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "1x"
+    },
+    {
+      "orientation" : "landscape",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "1x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "landscape",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "2x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 18 - 0
Example/UICatalog/Images.xcassets/bookmark_icon.imageset/Contents.json

@@ -0,0 +1,18 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x",
+      "filename" : "bookmark_icon_1x.png"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x",
+      "filename" : "bookmark_icon_2x.png"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Example/UICatalog/Images.xcassets/bookmark_icon.imageset/bookmark_icon_1x.png


BIN
Example/UICatalog/Images.xcassets/bookmark_icon.imageset/bookmark_icon_2x.png


+ 18 - 0
Example/UICatalog/Images.xcassets/bookmark_icon_highlighted.imageset/Contents.json

@@ -0,0 +1,18 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x",
+      "filename" : "bookmark_icon_highlighted_1x.png"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x",
+      "filename" : "bookmark_icon_highlighted_2x.png"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Example/UICatalog/Images.xcassets/bookmark_icon_highlighted.imageset/bookmark_icon_highlighted_1x.png


BIN
Example/UICatalog/Images.xcassets/bookmark_icon_highlighted.imageset/bookmark_icon_highlighted_2x.png


+ 18 - 0
Example/UICatalog/Images.xcassets/checkmark_icon.imageset/Contents.json

@@ -0,0 +1,18 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x",
+      "filename" : "checkmark_icon_1x.png"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x",
+      "filename" : "checkmark_icon_2x.png"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Example/UICatalog/Images.xcassets/checkmark_icon.imageset/checkmark_icon_1x.png


BIN
Example/UICatalog/Images.xcassets/checkmark_icon.imageset/checkmark_icon_2x.png


+ 17 - 0
Example/UICatalog/Images.xcassets/image_animal_1.imageset/Contents.json

@@ -0,0 +1,17 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x",
+      "filename" : "image_animal_5.png"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Example/UICatalog/Images.xcassets/image_animal_1.imageset/image_animal_5.png


+ 17 - 0
Example/UICatalog/Images.xcassets/image_animal_2.imageset/Contents.json

@@ -0,0 +1,17 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x",
+      "filename" : "image_animal_2.png"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Example/UICatalog/Images.xcassets/image_animal_2.imageset/image_animal_2.png


+ 17 - 0
Example/UICatalog/Images.xcassets/image_animal_3.imageset/Contents.json

@@ -0,0 +1,17 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x",
+      "filename" : "image_animal_3.png"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Example/UICatalog/Images.xcassets/image_animal_3.imageset/image_animal_3.png


+ 17 - 0
Example/UICatalog/Images.xcassets/image_animal_4.imageset/Contents.json

@@ -0,0 +1,17 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x",
+      "filename" : "image_animal_4.png"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Example/UICatalog/Images.xcassets/image_animal_4.imageset/image_animal_4.png


+ 17 - 0
Example/UICatalog/Images.xcassets/image_animal_5.imageset/Contents.json

@@ -0,0 +1,17 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x",
+      "filename" : "image_animal_1.png"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Example/UICatalog/Images.xcassets/image_animal_5.imageset/image_animal_1.png


+ 18 - 0
Example/UICatalog/Images.xcassets/search_bar_background.imageset/Contents.json

@@ -0,0 +1,18 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x",
+      "filename" : "search_bar_bg_1x.png"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x",
+      "filename" : "search_bar_bg_2x.png"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Example/UICatalog/Images.xcassets/search_bar_background.imageset/search_bar_bg_1x.png


BIN
Example/UICatalog/Images.xcassets/search_bar_background.imageset/search_bar_bg_2x.png


+ 18 - 0
Example/UICatalog/Images.xcassets/search_icon.imageset/Contents.json

@@ -0,0 +1,18 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x",
+      "filename" : "search_icon_1x.png"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x",
+      "filename" : "search_icon_2x.png"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Example/UICatalog/Images.xcassets/search_icon.imageset/search_icon_1x.png


BIN
Example/UICatalog/Images.xcassets/search_icon.imageset/search_icon_2x.png


+ 18 - 0
Example/UICatalog/Images.xcassets/slider_blue_track.imageset/Contents.json

@@ -0,0 +1,18 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x",
+      "filename" : "slider_blue_track_1x.png"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x",
+      "filename" : "slider_blue_track_2x.png"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Example/UICatalog/Images.xcassets/slider_blue_track.imageset/slider_blue_track_1x.png


BIN
Example/UICatalog/Images.xcassets/slider_blue_track.imageset/slider_blue_track_2x.png


+ 18 - 0
Example/UICatalog/Images.xcassets/slider_green_track.imageset/Contents.json

@@ -0,0 +1,18 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x",
+      "filename" : "slider_green_track_1x.png"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x",
+      "filename" : "slider_green_track_2x.png"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Example/UICatalog/Images.xcassets/slider_green_track.imageset/slider_green_track_1x.png


BIN
Example/UICatalog/Images.xcassets/slider_green_track.imageset/slider_green_track_2x.png


+ 18 - 0
Example/UICatalog/Images.xcassets/slider_thumb.imageset/Contents.json

@@ -0,0 +1,18 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x",
+      "filename" : "slider_thumb_1x.png"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x",
+      "filename" : "slider_thumb_2x.png"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Example/UICatalog/Images.xcassets/slider_thumb.imageset/slider_thumb_1x.png


BIN
Example/UICatalog/Images.xcassets/slider_thumb.imageset/slider_thumb_2x.png


+ 18 - 0
Example/UICatalog/Images.xcassets/stepper_and_segment_background.imageset/Contents.json

@@ -0,0 +1,18 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x",
+      "filename" : "stepper_and_segment_background_1x.png"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x",
+      "filename" : "stepper_and_segment_background_2x.png"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Example/UICatalog/Images.xcassets/stepper_and_segment_background.imageset/stepper_and_segment_background_1x.png


BIN
Example/UICatalog/Images.xcassets/stepper_and_segment_background.imageset/stepper_and_segment_background_2x.png


+ 18 - 0
Example/UICatalog/Images.xcassets/stepper_and_segment_background_disabled.imageset/Contents.json

@@ -0,0 +1,18 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x",
+      "filename" : "stepper_and_segment_background_disabled_1x.png"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x",
+      "filename" : "stepper_and_segment_background_disabled_2x.png"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Example/UICatalog/Images.xcassets/stepper_and_segment_background_disabled.imageset/stepper_and_segment_background_disabled_1x.png


BIN
Example/UICatalog/Images.xcassets/stepper_and_segment_background_disabled.imageset/stepper_and_segment_background_disabled_2x.png


+ 18 - 0
Example/UICatalog/Images.xcassets/stepper_and_segment_background_highlighted.imageset/Contents.json

@@ -0,0 +1,18 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x",
+      "filename" : "stepper_and_segment_background_highlighted_1x.png"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x",
+      "filename" : "stepper_and_segment_background_highlighted_2x.png"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
Example/UICatalog/Images.xcassets/stepper_and_segment_background_highlighted.imageset/stepper_and_segment_background_highlighted_1x.png


+ 0 - 0
Example/UICatalog/Images.xcassets/stepper_and_segment_background_highlighted.imageset/stepper_and_segment_background_highlighted_2x.png


Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov