From 8fd388a721e61b43cdcf0601b4e3be7cf64e54b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Se=CC=81bastien=20MICHOY?= Date: Fri, 28 Feb 2014 17:49:05 +0100 Subject: [PATCH] It is now possible to use MSSlidingPanelController with Storyboard. A new example using Storyboard has been added. --- .gitignore | 4 + CHANGELOG.md | 7 +- Examples/EXAMPLES.md | 6 + .../Resources}/Icon.pcvd | Bin .../project.pbxproj | 6 +- .../contents.xcworkspacedata | 0 .../xcschemes/SlidingPanelController.xcscheme | 0 .../SlidingPanelController/AppDelegate.h | 0 .../SlidingPanelController/AppDelegate.m | 0 .../CenterViewController.h | 0 .../CenterViewController.m | 0 .../SlidingPanelController/Color.h | 0 .../SlidingPanelController/Color.m | 0 .../AppIcon.appiconset/Contents.json | 0 .../AppIcon.appiconset/Icon_29x29.png | Bin .../AppIcon.appiconset/Icon_29x29@2x-1.png | Bin .../AppIcon.appiconset/Icon_29x29@2x.png | Bin .../AppIcon.appiconset/Icon_40x40.png | Bin .../AppIcon.appiconset/Icon_40x40@2x-1.png | Bin .../AppIcon.appiconset/Icon_40x40@2x.png | Bin .../AppIcon.appiconset/Icon_60x60@2x.png | Bin .../AppIcon.appiconset/Icon_76x76.png | Bin .../AppIcon.appiconset/Icon_76x76@2x.png | Bin .../LaunchImage.launchimage/Contents.json | 0 .../Lauch_image_iPad_landscape.png | Bin .../Lauch_image_iPad_landscape@2x.png | Bin .../Lauch_image_iPad_portrait.png | Bin .../Lauch_image_iPad_portrait@2x.png | Bin .../Lauch_image_iPhone_3.5.png | Bin .../Lauch_image_iPhone_4.png | Bin .../LeftPanelViewController.h | 0 .../LeftPanelViewController.m | 0 .../NavigationBarButton.h | 0 .../NavigationBarButton.m | 0 .../RightPanelViewController.h | 0 .../RightPanelViewController.m | 0 .../SlidingPanelController-Info.plist | 4 +- .../SlidingPanelController-Prefix.pch | 0 .../SlidingPanelController/TableViewItem.h | 0 .../SlidingPanelController/TableViewItem.m | 0 .../SlidingPanelController/TableViewSection.h | 0 .../SlidingPanelController/TableViewSection.m | 0 .../en.lproj/InfoPlist.strings | 0 .../SlidingPanelController/main.m | 0 .../project.pbxproj | 354 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../SlidingPanelControllerStoryboard.xcscheme | 104 +++++ .../AppDelegate.h | 15 + .../AppDelegate.m | 18 + .../EmptySegue.h | 13 + .../EmptySegue.m | 18 + .../AppIcon.appiconset/Contents.json | 26 ++ .../AppIcon.appiconset/Icon_29x29@2x.png | Bin 0 -> 6111 bytes .../AppIcon.appiconset/Icon_40x40@2x.png | Bin 0 -> 7644 bytes .../AppIcon.appiconset/Icon_60x60@2x.png | Bin 0 -> 4203 bytes .../LaunchImage.launchimage/Contents.json | 25 ++ .../LaunchImage.launchimage/a-1.png | Bin 0 -> 37964 bytes .../LaunchImage.launchimage/b.png | Bin 0 -> 35637 bytes .../Main.storyboard | 274 ++++++++++++++ ...lidingPanelControllerStoryboard-Info.plist | 38 ++ ...lidingPanelControllerStoryboard-Prefix.pch | 16 + .../en.lproj/InfoPlist.strings | 2 + .../SlidingPanelControllerStoryboard/main.m | 19 + MSSlidingPanelController.podspec | 4 +- .../MSSlidingPanelController.h | 1 + .../MSSlidingPanelController.m | 77 ++++ README.md | 6 +- 67 files changed, 1033 insertions(+), 11 deletions(-) create mode 100644 Examples/EXAMPLES.md rename {Example/Ressources => Examples/Resources}/Icon.pcvd (100%) rename {Example => Examples}/SlidingPanelController.xcodeproj/project.pbxproj (99%) rename {Example => Examples}/SlidingPanelController.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename {Example => Examples}/SlidingPanelController.xcodeproj/xcshareddata/xcschemes/SlidingPanelController.xcscheme (100%) rename {Example => Examples}/SlidingPanelController/AppDelegate.h (100%) rename {Example => Examples}/SlidingPanelController/AppDelegate.m (100%) rename {Example => Examples}/SlidingPanelController/CenterViewController.h (100%) rename {Example => Examples}/SlidingPanelController/CenterViewController.m (100%) rename {Example => Examples}/SlidingPanelController/Color.h (100%) rename {Example => Examples}/SlidingPanelController/Color.m (100%) rename {Example => Examples}/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Contents.json (100%) rename {Example => Examples}/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_29x29.png (100%) rename {Example => Examples}/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_29x29@2x-1.png (100%) rename {Example => Examples}/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_29x29@2x.png (100%) rename {Example => Examples}/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_40x40.png (100%) rename {Example => Examples}/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_40x40@2x-1.png (100%) rename {Example => Examples}/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_40x40@2x.png (100%) rename {Example => Examples}/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_60x60@2x.png (100%) rename {Example => Examples}/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_76x76.png (100%) rename {Example => Examples}/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_76x76@2x.png (100%) rename {Example => Examples}/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Contents.json (100%) rename {Example => Examples}/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_landscape.png (100%) rename {Example => Examples}/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_landscape@2x.png (100%) rename {Example => Examples}/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_portrait.png (100%) rename {Example => Examples}/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_portrait@2x.png (100%) rename {Example => Examples}/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPhone_3.5.png (100%) rename {Example => Examples}/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPhone_4.png (100%) rename {Example => Examples}/SlidingPanelController/LeftPanelViewController.h (100%) rename {Example => Examples}/SlidingPanelController/LeftPanelViewController.m (100%) rename {Example => Examples}/SlidingPanelController/NavigationBarButton.h (100%) rename {Example => Examples}/SlidingPanelController/NavigationBarButton.m (100%) rename {Example => Examples}/SlidingPanelController/RightPanelViewController.h (100%) rename {Example => Examples}/SlidingPanelController/RightPanelViewController.m (100%) rename {Example => Examples}/SlidingPanelController/SlidingPanelController-Info.plist (96%) rename {Example => Examples}/SlidingPanelController/SlidingPanelController-Prefix.pch (100%) rename {Example => Examples}/SlidingPanelController/TableViewItem.h (100%) rename {Example => Examples}/SlidingPanelController/TableViewItem.m (100%) rename {Example => Examples}/SlidingPanelController/TableViewSection.h (100%) rename {Example => Examples}/SlidingPanelController/TableViewSection.m (100%) rename {Example => Examples}/SlidingPanelController/en.lproj/InfoPlist.strings (100%) rename {Example => Examples}/SlidingPanelController/main.m (100%) create mode 100644 Examples/SlidingPanelControllerStoryboard.xcodeproj/project.pbxproj create mode 100644 Examples/SlidingPanelControllerStoryboard.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Examples/SlidingPanelControllerStoryboard.xcodeproj/xcshareddata/xcschemes/SlidingPanelControllerStoryboard.xcscheme create mode 100644 Examples/SlidingPanelControllerStoryboard/AppDelegate.h create mode 100644 Examples/SlidingPanelControllerStoryboard/AppDelegate.m create mode 100644 Examples/SlidingPanelControllerStoryboard/EmptySegue.h create mode 100644 Examples/SlidingPanelControllerStoryboard/EmptySegue.m create mode 100644 Examples/SlidingPanelControllerStoryboard/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Examples/SlidingPanelControllerStoryboard/Images.xcassets/AppIcon.appiconset/Icon_29x29@2x.png create mode 100644 Examples/SlidingPanelControllerStoryboard/Images.xcassets/AppIcon.appiconset/Icon_40x40@2x.png create mode 100644 Examples/SlidingPanelControllerStoryboard/Images.xcassets/AppIcon.appiconset/Icon_60x60@2x.png create mode 100644 Examples/SlidingPanelControllerStoryboard/Images.xcassets/LaunchImage.launchimage/Contents.json create mode 100644 Examples/SlidingPanelControllerStoryboard/Images.xcassets/LaunchImage.launchimage/a-1.png create mode 100644 Examples/SlidingPanelControllerStoryboard/Images.xcassets/LaunchImage.launchimage/b.png create mode 100644 Examples/SlidingPanelControllerStoryboard/Main.storyboard create mode 100644 Examples/SlidingPanelControllerStoryboard/SlidingPanelControllerStoryboard-Info.plist create mode 100644 Examples/SlidingPanelControllerStoryboard/SlidingPanelControllerStoryboard-Prefix.pch create mode 100644 Examples/SlidingPanelControllerStoryboard/en.lproj/InfoPlist.strings create mode 100644 Examples/SlidingPanelControllerStoryboard/main.m diff --git a/.gitignore b/.gitignore index 9324a2d..5163a5a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,6 @@ Example/SlidingPanelController.xcodeproj/xcuserdata Example/SlidingPanelController.xcodeproj/project.xcworkspace/xcuserdata +Examples/SlidingPanelController.xcodeproj/project.xcworkspace/xcuserdata +Examples/SlidingPanelController.xcodeproj/xcuserdata +Examples/SlidingPanelControllerStoryboard.xcodeproj/project.xcworkspace +Examples/SlidingPanelControllerStoryboard.xcodeproj/xcuserdata diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b85c2d..a93beac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,11 @@ # MSSlidingPanelController Changelog +## 1.1.2 (Friday, February 28th, 2014) +- It is now possible to use **MSSlidingPanelController** with *Storyboard*. +- A new example using *Storyboard* has been added. ## 1.1.1 (Wednesday, January 29th, 2014) - Hide a false positive warning reported by clang analyzer. -- Add a script to update the build number. +- Add a script to update the build number of the exemple. ## 1.1.0 (Thursday, January 16th, 2014) -- It's now possible to add a completion block when we change the maximum width of panels. +- It now possible to add a completion block when we change the maximum width of panels. ## 1.0.0 (Wednesday, January 8th, 2014) - Initial release. diff --git a/Examples/EXAMPLES.md b/Examples/EXAMPLES.md new file mode 100644 index 0000000..3dba59c --- /dev/null +++ b/Examples/EXAMPLES.md @@ -0,0 +1,6 @@ +# Examples +*SlidingPanelController* and *SlidingPanelControllerStoryboard* allow you to understand how works **MSSlidingPanelController**. +## SlidingPanelController +*SlidingPanelController* shows most functionalities of **MSSlidingPanelController**. All this project is developed programmatically. +## SlidingPanelControllerStoryboard +*SlidingPanelControllerStoryboard* shows how use **MSSlidingPanelController** with the *Storyboard*. diff --git a/Example/Ressources/Icon.pcvd b/Examples/Resources/Icon.pcvd similarity index 100% rename from Example/Ressources/Icon.pcvd rename to Examples/Resources/Icon.pcvd diff --git a/Example/SlidingPanelController.xcodeproj/project.pbxproj b/Examples/SlidingPanelController.xcodeproj/project.pbxproj similarity index 99% rename from Example/SlidingPanelController.xcodeproj/project.pbxproj rename to Examples/SlidingPanelController.xcodeproj/project.pbxproj index f6bf37a..01d72d5 100644 --- a/Example/SlidingPanelController.xcodeproj/project.pbxproj +++ b/Examples/SlidingPanelController.xcodeproj/project.pbxproj @@ -102,18 +102,18 @@ isa = PBXGroup; children = ( 01C4F2741879D0F100CA9A41 /* Sources */, - 01C4F24B1879CF9D00CA9A41 /* Ressources */, + 01C4F24B1879CF9D00CA9A41 /* Resources */, ); path = SlidingPanelController; sourceTree = ""; }; - 01C4F24B1879CF9D00CA9A41 /* Ressources */ = { + 01C4F24B1879CF9D00CA9A41 /* Resources */ = { isa = PBXGroup; children = ( 01C4F2561879CF9D00CA9A41 /* Images.xcassets */, 01C4F2731879CFFB00CA9A41 /* Others */, ); - name = Ressources; + name = Resources; sourceTree = ""; }; 01C4F2731879CFFB00CA9A41 /* Others */ = { diff --git a/Example/SlidingPanelController.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Examples/SlidingPanelController.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from Example/SlidingPanelController.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to Examples/SlidingPanelController.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/Example/SlidingPanelController.xcodeproj/xcshareddata/xcschemes/SlidingPanelController.xcscheme b/Examples/SlidingPanelController.xcodeproj/xcshareddata/xcschemes/SlidingPanelController.xcscheme similarity index 100% rename from Example/SlidingPanelController.xcodeproj/xcshareddata/xcschemes/SlidingPanelController.xcscheme rename to Examples/SlidingPanelController.xcodeproj/xcshareddata/xcschemes/SlidingPanelController.xcscheme diff --git a/Example/SlidingPanelController/AppDelegate.h b/Examples/SlidingPanelController/AppDelegate.h similarity index 100% rename from Example/SlidingPanelController/AppDelegate.h rename to Examples/SlidingPanelController/AppDelegate.h diff --git a/Example/SlidingPanelController/AppDelegate.m b/Examples/SlidingPanelController/AppDelegate.m similarity index 100% rename from Example/SlidingPanelController/AppDelegate.m rename to Examples/SlidingPanelController/AppDelegate.m diff --git a/Example/SlidingPanelController/CenterViewController.h b/Examples/SlidingPanelController/CenterViewController.h similarity index 100% rename from Example/SlidingPanelController/CenterViewController.h rename to Examples/SlidingPanelController/CenterViewController.h diff --git a/Example/SlidingPanelController/CenterViewController.m b/Examples/SlidingPanelController/CenterViewController.m similarity index 100% rename from Example/SlidingPanelController/CenterViewController.m rename to Examples/SlidingPanelController/CenterViewController.m diff --git a/Example/SlidingPanelController/Color.h b/Examples/SlidingPanelController/Color.h similarity index 100% rename from Example/SlidingPanelController/Color.h rename to Examples/SlidingPanelController/Color.h diff --git a/Example/SlidingPanelController/Color.m b/Examples/SlidingPanelController/Color.m similarity index 100% rename from Example/SlidingPanelController/Color.m rename to Examples/SlidingPanelController/Color.m diff --git a/Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Contents.json b/Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Contents.json rename to Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Contents.json diff --git a/Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_29x29.png b/Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_29x29.png similarity index 100% rename from Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_29x29.png rename to Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_29x29.png diff --git a/Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_29x29@2x-1.png b/Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_29x29@2x-1.png similarity index 100% rename from Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_29x29@2x-1.png rename to Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_29x29@2x-1.png diff --git a/Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_29x29@2x.png b/Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_29x29@2x.png similarity index 100% rename from Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_29x29@2x.png rename to Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_29x29@2x.png diff --git a/Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_40x40.png b/Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_40x40.png similarity index 100% rename from Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_40x40.png rename to Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_40x40.png diff --git a/Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_40x40@2x-1.png b/Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_40x40@2x-1.png similarity index 100% rename from Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_40x40@2x-1.png rename to Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_40x40@2x-1.png diff --git a/Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_40x40@2x.png b/Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_40x40@2x.png similarity index 100% rename from Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_40x40@2x.png rename to Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_40x40@2x.png diff --git a/Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_60x60@2x.png b/Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_60x60@2x.png similarity index 100% rename from Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_60x60@2x.png rename to Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_60x60@2x.png diff --git a/Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_76x76.png b/Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_76x76.png similarity index 100% rename from Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_76x76.png rename to Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_76x76.png diff --git a/Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_76x76@2x.png b/Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_76x76@2x.png similarity index 100% rename from Example/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_76x76@2x.png rename to Examples/SlidingPanelController/Images.xcassets/AppIcon.appiconset/Icon_76x76@2x.png diff --git a/Example/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Contents.json b/Examples/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Contents.json similarity index 100% rename from Example/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Contents.json rename to Examples/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Contents.json diff --git a/Example/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_landscape.png b/Examples/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_landscape.png similarity index 100% rename from Example/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_landscape.png rename to Examples/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_landscape.png diff --git a/Example/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_landscape@2x.png b/Examples/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_landscape@2x.png similarity index 100% rename from Example/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_landscape@2x.png rename to Examples/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_landscape@2x.png diff --git a/Example/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_portrait.png b/Examples/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_portrait.png similarity index 100% rename from Example/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_portrait.png rename to Examples/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_portrait.png diff --git a/Example/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_portrait@2x.png b/Examples/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_portrait@2x.png similarity index 100% rename from Example/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_portrait@2x.png rename to Examples/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPad_portrait@2x.png diff --git a/Example/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPhone_3.5.png b/Examples/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPhone_3.5.png similarity index 100% rename from Example/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPhone_3.5.png rename to Examples/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPhone_3.5.png diff --git a/Example/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPhone_4.png b/Examples/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPhone_4.png similarity index 100% rename from Example/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPhone_4.png rename to Examples/SlidingPanelController/Images.xcassets/LaunchImage.launchimage/Lauch_image_iPhone_4.png diff --git a/Example/SlidingPanelController/LeftPanelViewController.h b/Examples/SlidingPanelController/LeftPanelViewController.h similarity index 100% rename from Example/SlidingPanelController/LeftPanelViewController.h rename to Examples/SlidingPanelController/LeftPanelViewController.h diff --git a/Example/SlidingPanelController/LeftPanelViewController.m b/Examples/SlidingPanelController/LeftPanelViewController.m similarity index 100% rename from Example/SlidingPanelController/LeftPanelViewController.m rename to Examples/SlidingPanelController/LeftPanelViewController.m diff --git a/Example/SlidingPanelController/NavigationBarButton.h b/Examples/SlidingPanelController/NavigationBarButton.h similarity index 100% rename from Example/SlidingPanelController/NavigationBarButton.h rename to Examples/SlidingPanelController/NavigationBarButton.h diff --git a/Example/SlidingPanelController/NavigationBarButton.m b/Examples/SlidingPanelController/NavigationBarButton.m similarity index 100% rename from Example/SlidingPanelController/NavigationBarButton.m rename to Examples/SlidingPanelController/NavigationBarButton.m diff --git a/Example/SlidingPanelController/RightPanelViewController.h b/Examples/SlidingPanelController/RightPanelViewController.h similarity index 100% rename from Example/SlidingPanelController/RightPanelViewController.h rename to Examples/SlidingPanelController/RightPanelViewController.h diff --git a/Example/SlidingPanelController/RightPanelViewController.m b/Examples/SlidingPanelController/RightPanelViewController.m similarity index 100% rename from Example/SlidingPanelController/RightPanelViewController.m rename to Examples/SlidingPanelController/RightPanelViewController.m diff --git a/Example/SlidingPanelController/SlidingPanelController-Info.plist b/Examples/SlidingPanelController/SlidingPanelController-Info.plist similarity index 96% rename from Example/SlidingPanelController/SlidingPanelController-Info.plist rename to Examples/SlidingPanelController/SlidingPanelController-Info.plist index 055ee3c..0f458b9 100644 --- a/Example/SlidingPanelController/SlidingPanelController-Info.plist +++ b/Examples/SlidingPanelController/SlidingPanelController-Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.1.1 + 1.1.2 CFBundleSignature ???? CFBundleVersion - 4 + 1 LSRequiresIPhoneOS UIRequiredDeviceCapabilities diff --git a/Example/SlidingPanelController/SlidingPanelController-Prefix.pch b/Examples/SlidingPanelController/SlidingPanelController-Prefix.pch similarity index 100% rename from Example/SlidingPanelController/SlidingPanelController-Prefix.pch rename to Examples/SlidingPanelController/SlidingPanelController-Prefix.pch diff --git a/Example/SlidingPanelController/TableViewItem.h b/Examples/SlidingPanelController/TableViewItem.h similarity index 100% rename from Example/SlidingPanelController/TableViewItem.h rename to Examples/SlidingPanelController/TableViewItem.h diff --git a/Example/SlidingPanelController/TableViewItem.m b/Examples/SlidingPanelController/TableViewItem.m similarity index 100% rename from Example/SlidingPanelController/TableViewItem.m rename to Examples/SlidingPanelController/TableViewItem.m diff --git a/Example/SlidingPanelController/TableViewSection.h b/Examples/SlidingPanelController/TableViewSection.h similarity index 100% rename from Example/SlidingPanelController/TableViewSection.h rename to Examples/SlidingPanelController/TableViewSection.h diff --git a/Example/SlidingPanelController/TableViewSection.m b/Examples/SlidingPanelController/TableViewSection.m similarity index 100% rename from Example/SlidingPanelController/TableViewSection.m rename to Examples/SlidingPanelController/TableViewSection.m diff --git a/Example/SlidingPanelController/en.lproj/InfoPlist.strings b/Examples/SlidingPanelController/en.lproj/InfoPlist.strings similarity index 100% rename from Example/SlidingPanelController/en.lproj/InfoPlist.strings rename to Examples/SlidingPanelController/en.lproj/InfoPlist.strings diff --git a/Example/SlidingPanelController/main.m b/Examples/SlidingPanelController/main.m similarity index 100% rename from Example/SlidingPanelController/main.m rename to Examples/SlidingPanelController/main.m diff --git a/Examples/SlidingPanelControllerStoryboard.xcodeproj/project.pbxproj b/Examples/SlidingPanelControllerStoryboard.xcodeproj/project.pbxproj new file mode 100644 index 0000000..fc6d4ab --- /dev/null +++ b/Examples/SlidingPanelControllerStoryboard.xcodeproj/project.pbxproj @@ -0,0 +1,354 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 0119237718C0B80B005EC17C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0119237618C0B80B005EC17C /* Main.storyboard */; }; + 0119237D18C0B859005EC17C /* MSSlidingPanelController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0119237A18C0B859005EC17C /* MSSlidingPanelController.m */; }; + 0119237E18C0B859005EC17C /* MSViewControllerSlidingPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = 0119237C18C0B859005EC17C /* MSViewControllerSlidingPanel.m */; }; + 0119238118C0C8EA005EC17C /* EmptySegue.m in Sources */ = {isa = PBXBuildFile; fileRef = 0119238018C0C8EA005EC17C /* EmptySegue.m */; }; + 01C133A918C0B698004E7405 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 01C133A818C0B698004E7405 /* Foundation.framework */; }; + 01C133AB18C0B698004E7405 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 01C133AA18C0B698004E7405 /* CoreGraphics.framework */; }; + 01C133AD18C0B698004E7405 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 01C133AC18C0B698004E7405 /* UIKit.framework */; }; + 01C133B318C0B698004E7405 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 01C133B118C0B698004E7405 /* InfoPlist.strings */; }; + 01C133B518C0B698004E7405 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 01C133B418C0B698004E7405 /* main.m */; }; + 01C133B918C0B698004E7405 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 01C133B818C0B698004E7405 /* AppDelegate.m */; }; + 01C133BB18C0B698004E7405 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 01C133BA18C0B698004E7405 /* Images.xcassets */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 0119237618C0B80B005EC17C /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; + 0119237918C0B859005EC17C /* MSSlidingPanelController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MSSlidingPanelController.h; path = ../../MSSlidingPanelController/MSSlidingPanelController.h; sourceTree = ""; }; + 0119237A18C0B859005EC17C /* MSSlidingPanelController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MSSlidingPanelController.m; path = ../../MSSlidingPanelController/MSSlidingPanelController.m; sourceTree = ""; }; + 0119237B18C0B859005EC17C /* MSViewControllerSlidingPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MSViewControllerSlidingPanel.h; path = ../../MSSlidingPanelController/MSViewControllerSlidingPanel.h; sourceTree = ""; }; + 0119237C18C0B859005EC17C /* MSViewControllerSlidingPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MSViewControllerSlidingPanel.m; path = ../../MSSlidingPanelController/MSViewControllerSlidingPanel.m; sourceTree = ""; }; + 0119237F18C0C8EA005EC17C /* EmptySegue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmptySegue.h; sourceTree = ""; }; + 0119238018C0C8EA005EC17C /* EmptySegue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EmptySegue.m; sourceTree = ""; }; + 01C133A518C0B698004E7405 /* SlidingPanelControllerStoryboard.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SlidingPanelControllerStoryboard.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 01C133A818C0B698004E7405 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 01C133AA18C0B698004E7405 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 01C133AC18C0B698004E7405 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 01C133B018C0B698004E7405 /* SlidingPanelControllerStoryboard-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "SlidingPanelControllerStoryboard-Info.plist"; sourceTree = ""; }; + 01C133B218C0B698004E7405 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 01C133B418C0B698004E7405 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 01C133B618C0B698004E7405 /* SlidingPanelControllerStoryboard-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SlidingPanelControllerStoryboard-Prefix.pch"; sourceTree = ""; }; + 01C133B718C0B698004E7405 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 01C133B818C0B698004E7405 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 01C133BA18C0B698004E7405 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 01C133A218C0B698004E7405 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 01C133AB18C0B698004E7405 /* CoreGraphics.framework in Frameworks */, + 01C133A918C0B698004E7405 /* Foundation.framework in Frameworks */, + 01C133AD18C0B698004E7405 /* UIKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 0119237418C0B74E005EC17C /* Sources */ = { + isa = PBXGroup; + children = ( + 01C133B418C0B698004E7405 /* main.m */, + 01C133B718C0B698004E7405 /* AppDelegate.h */, + 01C133B818C0B698004E7405 /* AppDelegate.m */, + 0119237618C0B80B005EC17C /* Main.storyboard */, + 0119237818C0B824005EC17C /* SlidingPanelController */, + 0131406B18C0E0AD00D9E655 /* Tools */, + ); + name = Sources; + sourceTree = ""; + }; + 0119237518C0B784005EC17C /* Others */ = { + isa = PBXGroup; + children = ( + 01C133B118C0B698004E7405 /* InfoPlist.strings */, + 01C133B018C0B698004E7405 /* SlidingPanelControllerStoryboard-Info.plist */, + 01C133B618C0B698004E7405 /* SlidingPanelControllerStoryboard-Prefix.pch */, + ); + name = Others; + sourceTree = ""; + }; + 0119237818C0B824005EC17C /* SlidingPanelController */ = { + isa = PBXGroup; + children = ( + 0119237918C0B859005EC17C /* MSSlidingPanelController.h */, + 0119237A18C0B859005EC17C /* MSSlidingPanelController.m */, + 0119237B18C0B859005EC17C /* MSViewControllerSlidingPanel.h */, + 0119237C18C0B859005EC17C /* MSViewControllerSlidingPanel.m */, + ); + name = SlidingPanelController; + sourceTree = ""; + }; + 0131406B18C0E0AD00D9E655 /* Tools */ = { + isa = PBXGroup; + children = ( + 0119237F18C0C8EA005EC17C /* EmptySegue.h */, + 0119238018C0C8EA005EC17C /* EmptySegue.m */, + ); + name = Tools; + sourceTree = ""; + }; + 01C1339C18C0B698004E7405 = { + isa = PBXGroup; + children = ( + 01C133AE18C0B698004E7405 /* SlidingPanelControllerStoryboard */, + 01C133A718C0B698004E7405 /* Frameworks */, + 01C133A618C0B698004E7405 /* Products */, + ); + sourceTree = ""; + }; + 01C133A618C0B698004E7405 /* Products */ = { + isa = PBXGroup; + children = ( + 01C133A518C0B698004E7405 /* SlidingPanelControllerStoryboard.app */, + ); + name = Products; + sourceTree = ""; + }; + 01C133A718C0B698004E7405 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 01C133AA18C0B698004E7405 /* CoreGraphics.framework */, + 01C133A818C0B698004E7405 /* Foundation.framework */, + 01C133AC18C0B698004E7405 /* UIKit.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 01C133AE18C0B698004E7405 /* SlidingPanelControllerStoryboard */ = { + isa = PBXGroup; + children = ( + 0119237418C0B74E005EC17C /* Sources */, + 01C133AF18C0B698004E7405 /* Resources */, + ); + path = SlidingPanelControllerStoryboard; + sourceTree = ""; + }; + 01C133AF18C0B698004E7405 /* Resources */ = { + isa = PBXGroup; + children = ( + 01C133BA18C0B698004E7405 /* Images.xcassets */, + 0119237518C0B784005EC17C /* Others */, + ); + name = Resources; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 01C133A418C0B698004E7405 /* SlidingPanelControllerStoryboard */ = { + isa = PBXNativeTarget; + buildConfigurationList = 01C133D118C0B698004E7405 /* Build configuration list for PBXNativeTarget "SlidingPanelControllerStoryboard" */; + buildPhases = ( + 01C133A118C0B698004E7405 /* Sources */, + 01C133A218C0B698004E7405 /* Frameworks */, + 01C133A318C0B698004E7405 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SlidingPanelControllerStoryboard; + productName = SlidingPanelControllerStoryboard; + productReference = 01C133A518C0B698004E7405 /* SlidingPanelControllerStoryboard.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 01C1339D18C0B698004E7405 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0500; + ORGANIZATIONNAME = "Sébastien MICHOY"; + }; + buildConfigurationList = 01C133A018C0B698004E7405 /* Build configuration list for PBXProject "SlidingPanelControllerStoryboard" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 01C1339C18C0B698004E7405; + productRefGroup = 01C133A618C0B698004E7405 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 01C133A418C0B698004E7405 /* SlidingPanelControllerStoryboard */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 01C133A318C0B698004E7405 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 01C133B318C0B698004E7405 /* InfoPlist.strings in Resources */, + 0119237718C0B80B005EC17C /* Main.storyboard in Resources */, + 01C133BB18C0B698004E7405 /* Images.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 01C133A118C0B698004E7405 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0119237D18C0B859005EC17C /* MSSlidingPanelController.m in Sources */, + 0119238118C0C8EA005EC17C /* EmptySegue.m in Sources */, + 01C133B918C0B698004E7405 /* AppDelegate.m in Sources */, + 0119237E18C0B859005EC17C /* MSViewControllerSlidingPanel.m in Sources */, + 01C133B518C0B698004E7405 /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 01C133B118C0B698004E7405 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 01C133B218C0B698004E7405 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 01C133CF18C0B698004E7405 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; + 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; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 01C133D018C0B698004E7405 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; + 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; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 01C133D218C0B698004E7405 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "SlidingPanelControllerStoryboard/SlidingPanelControllerStoryboard-Prefix.pch"; + INFOPLIST_FILE = "SlidingPanelControllerStoryboard/SlidingPanelControllerStoryboard-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + 01C133D318C0B698004E7405 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "SlidingPanelControllerStoryboard/SlidingPanelControllerStoryboard-Prefix.pch"; + INFOPLIST_FILE = "SlidingPanelControllerStoryboard/SlidingPanelControllerStoryboard-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 01C133A018C0B698004E7405 /* Build configuration list for PBXProject "SlidingPanelControllerStoryboard" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 01C133CF18C0B698004E7405 /* Debug */, + 01C133D018C0B698004E7405 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 01C133D118C0B698004E7405 /* Build configuration list for PBXNativeTarget "SlidingPanelControllerStoryboard" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 01C133D218C0B698004E7405 /* Debug */, + 01C133D318C0B698004E7405 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 01C1339D18C0B698004E7405 /* Project object */; +} diff --git a/Examples/SlidingPanelControllerStoryboard.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Examples/SlidingPanelControllerStoryboard.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..5ea7fa2 --- /dev/null +++ b/Examples/SlidingPanelControllerStoryboard.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Examples/SlidingPanelControllerStoryboard.xcodeproj/xcshareddata/xcschemes/SlidingPanelControllerStoryboard.xcscheme b/Examples/SlidingPanelControllerStoryboard.xcodeproj/xcshareddata/xcschemes/SlidingPanelControllerStoryboard.xcscheme new file mode 100644 index 0000000..39d885e --- /dev/null +++ b/Examples/SlidingPanelControllerStoryboard.xcodeproj/xcshareddata/xcschemes/SlidingPanelControllerStoryboard.xcscheme @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Examples/SlidingPanelControllerStoryboard/AppDelegate.h b/Examples/SlidingPanelControllerStoryboard/AppDelegate.h new file mode 100644 index 0000000..28db8f6 --- /dev/null +++ b/Examples/SlidingPanelControllerStoryboard/AppDelegate.h @@ -0,0 +1,15 @@ +// +// AppDelegate.h +// SlidingPanelControllerStoryboard +// +// Created by Sébastien MICHOY on 2/28/14. +// Copyright (c) 2014 Sébastien MICHOY. All rights reserved. +// + +#import + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@end diff --git a/Examples/SlidingPanelControllerStoryboard/AppDelegate.m b/Examples/SlidingPanelControllerStoryboard/AppDelegate.m new file mode 100644 index 0000000..f5c70e3 --- /dev/null +++ b/Examples/SlidingPanelControllerStoryboard/AppDelegate.m @@ -0,0 +1,18 @@ +// +// AppDelegate.m +// SlidingPanelControllerStoryboard +// +// Created by Sébastien MICHOY on 2/28/14. +// Copyright (c) 2014 Sébastien MICHOY. All rights reserved. +// + +#import "AppDelegate.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + return YES; +} + +@end diff --git a/Examples/SlidingPanelControllerStoryboard/EmptySegue.h b/Examples/SlidingPanelControllerStoryboard/EmptySegue.h new file mode 100644 index 0000000..b5f5180 --- /dev/null +++ b/Examples/SlidingPanelControllerStoryboard/EmptySegue.h @@ -0,0 +1,13 @@ +// +// EmptySegue.h +// SlidingPanelControllerStoryboard +// +// Created by Sébastien MICHOY on 2/28/14. +// Copyright (c) 2014 Sébastien MICHOY. All rights reserved. +// + +#import + +@interface EmptySegue : UIStoryboardSegue + +@end diff --git a/Examples/SlidingPanelControllerStoryboard/EmptySegue.m b/Examples/SlidingPanelControllerStoryboard/EmptySegue.m new file mode 100644 index 0000000..5e74ed3 --- /dev/null +++ b/Examples/SlidingPanelControllerStoryboard/EmptySegue.m @@ -0,0 +1,18 @@ +// +// EmptySegue.m +// SlidingPanelControllerStoryboard +// +// Created by Sébastien MICHOY on 2/28/14. +// Copyright (c) 2014 Sébastien MICHOY. All rights reserved. +// + +#import "EmptySegue.h" + +@implementation EmptySegue + +- (void)perform +{ + +} + +@end diff --git a/Examples/SlidingPanelControllerStoryboard/Images.xcassets/AppIcon.appiconset/Contents.json b/Examples/SlidingPanelControllerStoryboard/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..bb83261 --- /dev/null +++ b/Examples/SlidingPanelControllerStoryboard/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon_29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon_40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon_60x60@2x.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Examples/SlidingPanelControllerStoryboard/Images.xcassets/AppIcon.appiconset/Icon_29x29@2x.png b/Examples/SlidingPanelControllerStoryboard/Images.xcassets/AppIcon.appiconset/Icon_29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..883f27fca53ff4a5359fafb11ad8ba14680d1db1 GIT binary patch literal 6111 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 J7E2rX{~u6%1V{h? literal 0 HcmV?d00001 diff --git a/Examples/SlidingPanelControllerStoryboard/Images.xcassets/AppIcon.appiconset/Icon_40x40@2x.png b/Examples/SlidingPanelControllerStoryboard/Images.xcassets/AppIcon.appiconset/Icon_40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f8f5a124e97dfedd7b40370081749aeddb90f681 GIT binary patch literal 7644 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℞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 literal 0 HcmV?d00001 diff --git a/Examples/SlidingPanelControllerStoryboard/Images.xcassets/LaunchImage.launchimage/b.png b/Examples/SlidingPanelControllerStoryboard/Images.xcassets/LaunchImage.launchimage/b.png new file mode 100644 index 0000000000000000000000000000000000000000..13955e792ced4c32bb5b44961045463e8b963cbf GIT binary patch literal 35637 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 literal 0 HcmV?d00001 diff --git a/Examples/SlidingPanelControllerStoryboard/Main.storyboard b/Examples/SlidingPanelControllerStoryboard/Main.storyboard new file mode 100644 index 0000000..57314df --- /dev/null +++ b/Examples/SlidingPanelControllerStoryboard/Main.storyboard @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Examples/SlidingPanelControllerStoryboard/SlidingPanelControllerStoryboard-Info.plist b/Examples/SlidingPanelControllerStoryboard/SlidingPanelControllerStoryboard-Info.plist new file mode 100644 index 0000000..0dbf168 --- /dev/null +++ b/Examples/SlidingPanelControllerStoryboard/SlidingPanelControllerStoryboard-Info.plist @@ -0,0 +1,38 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + com.michoy.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.1.2 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + + + diff --git a/Examples/SlidingPanelControllerStoryboard/SlidingPanelControllerStoryboard-Prefix.pch b/Examples/SlidingPanelControllerStoryboard/SlidingPanelControllerStoryboard-Prefix.pch new file mode 100644 index 0000000..743435c --- /dev/null +++ b/Examples/SlidingPanelControllerStoryboard/SlidingPanelControllerStoryboard-Prefix.pch @@ -0,0 +1,16 @@ +// +// Prefix header +// +// The contents of this file are implicitly included at the beginning of every source file. +// + +#import + +#ifndef __IPHONE_3_0 +#warning "This project uses features only available in iOS SDK 3.0 and later." +#endif + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/Examples/SlidingPanelControllerStoryboard/en.lproj/InfoPlist.strings b/Examples/SlidingPanelControllerStoryboard/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/Examples/SlidingPanelControllerStoryboard/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/Examples/SlidingPanelControllerStoryboard/main.m b/Examples/SlidingPanelControllerStoryboard/main.m new file mode 100644 index 0000000..77585d4 --- /dev/null +++ b/Examples/SlidingPanelControllerStoryboard/main.m @@ -0,0 +1,19 @@ +// +// main.m +// SlidingPanelControllerStoryboard +// +// Created by Sébastien MICHOY on 2/28/14. +// Copyright (c) 2014 Sébastien MICHOY. All rights reserved. +// + +#import + +#import "AppDelegate.h" + +int main(int argc, char * argv[]) +{ + @autoreleasepool + { + return (UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]))); + } +} diff --git a/MSSlidingPanelController.podspec b/MSSlidingPanelController.podspec index 7d05d9e..6797fd9 100644 --- a/MSSlidingPanelController.podspec +++ b/MSSlidingPanelController.podspec @@ -1,13 +1,13 @@ Pod::Spec.new do |spec| spec.name = "MSSlidingPanelController" - spec.version = "1.1.1" + spec.version = "1.1.2" spec.platform = :ios spec.ios.deployment_target = "7.0" spec.requires_arc = true spec.ios.framework = "UIKit" - spec.source = { :git => "https://github.com/SebastienMichoy/MSSlidingPanelController.git", :tag => "1.1.1" } + spec.source = { :git => "https://github.com/SebastienMichoy/MSSlidingPanelController.git", :tag => "1.1.2" } spec.source_files = 'MSSlidingPanelController/*.{h,m}' spec.public_header_files = 'MSSlidingPanelController/*.h' spec.summary = "Integrate easily a sliding panel controller mechanism in your project!" diff --git a/MSSlidingPanelController/MSSlidingPanelController.h b/MSSlidingPanelController/MSSlidingPanelController.h index 3ebc7d1..c3e7fb9 100644 --- a/MSSlidingPanelController/MSSlidingPanelController.h +++ b/MSSlidingPanelController/MSSlidingPanelController.h @@ -129,6 +129,7 @@ typedef NS_ENUM(NSUInteger, MSSPSideDisplayed) * The MSSlidingPanelController provides a class which allow to display sliding panels. * * The sliding panel controller allows to set two panels: one on the left, and one on the right. However, only one panel can be displayed at the same time. + * If you want to use the Storyboard, use custom segues with the following identifiers: MSSPStoryboardIDCenter, MSSPStoryboardIDLeft, MSSPStoryboardIDRight. */ @interface MSSlidingPanelController : UIViewController diff --git a/MSSlidingPanelController/MSSlidingPanelController.m b/MSSlidingPanelController/MSSlidingPanelController.m index 06b728b..5f0a135 100644 --- a/MSSlidingPanelController/MSSlidingPanelController.m +++ b/MSSlidingPanelController/MSSlidingPanelController.m @@ -8,6 +8,12 @@ #import "MSSlidingPanelController.h" +#pragma mark - Macros + +#define MSSPStoryboardIDCenter @"MSSPStoryboardIDCenter" +#define MSSPStoryboardIDLeft @"MSSPStoryboardIDLeft" +#define MSSPStoryboardIDRight @"MSSPStoryboardIDRight" + #pragma mark - Global variables CGFloat g_animationVelocity = 640; @@ -349,6 +355,14 @@ - (void)openPanelSide:(MSSPSideDisplayed)side withCompletion:(void (^)(void))com */ - (void)openPanelSide:(MSSPSideDisplayed)side withCompletion:(void (^)(void))completion andStatusBarColorUpdate:(BOOL)statusBarColorUpdate; +#pragma mark Storyboard +/** @name Storyboard */ + +/** + * Sets views from storyboard. + */ +- (void)setViewsFromStoryboard; + @end #pragma mark - Implementation @@ -440,6 +454,23 @@ - (id)init return (self); } +/** + * Returns an object initialized from data in a given unarchiver. + * + * @param aDecoder An unarchiver object. + * + * @return self, initialized using the data in decoder. + */ +- (id)initWithCoder:(NSCoder *)aDecoder +{ + self = [super initWithCoder:aDecoder]; + + if (self) + [self commonSettings]; + + return (self); +} + /** * Initialize and return a new sliding panel controller. * @@ -560,6 +591,9 @@ - (void)loadView windowSize = [[UIScreen mainScreen] bounds].size; + if ([self storyboard]) + [self setViewsFromStoryboard]; + [self setStatusBarView:[[UIView alloc] initWithFrame:CGRectMake(0, 0, windowSize.width, 20)]]; [[self statusBarView] setBackgroundColor:[self centerViewStatusBarColor]]; [[self statusBarView] setAutoresizingMask:(UIViewAutoresizingFlexibleWidth)]; @@ -1523,4 +1557,47 @@ - (void)openRightPanelWithCompletion:(void (^)(void))completion [self openPanelSide:MSSPSideDisplayedRight withCompletion:completion]; } +#pragma mark Storyboard +/** @name Storyboard */ + +/** + * Notifies the view controller that a segue is about to be performed. + * + * @param segue The segue object containing information about the view controllers involved in the segue. + * @param sender The object that initiated the segue. You might use this parameter to perform different actions based on which control (or other object) initiated the segue. + */ +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender +{ + if ([segue.identifier isEqualToString:MSSPStoryboardIDCenter]) + [self setCenterViewController:[segue destinationViewController]]; + else if ([segue.identifier isEqualToString:MSSPStoryboardIDLeft]) + [self setLeftPanelController:[segue destinationViewController]]; + else if ([segue.identifier isEqualToString:MSSPStoryboardIDRight]) + [self setRightPanelController:[segue destinationViewController]]; +} + +/** + * Sets views from storyboard. + */ +- (void)setViewsFromStoryboard +{ + @try + { + [self performSegueWithIdentifier:MSSPStoryboardIDCenter sender:nil]; + } + @catch (NSException *exception){} + + @try + { + [self performSegueWithIdentifier:MSSPStoryboardIDLeft sender:nil]; + } + @catch (NSException *exception){} + + @try + { + [self performSegueWithIdentifier:MSSPStoryboardIDRight sender:nil]; + } + @catch (NSException *exception){} +} + @end \ No newline at end of file diff --git a/README.md b/README.md index acee487..ac07a54 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ pod 'MSSlidingPanelController' ``` ## Documentation -The documentation of `MSSlidingPanelController` can be found on [CocoaDoc](http://cocoadocs.org/docsets/MSSlidingPanelController/1.0.0/). +The documentation of `MSSlidingPanelController` can be found on [CocoaDoc](http://cocoadocs.org/docsets/MSSlidingPanelController/). ## Creating a MSSlidingPanelController That's very easy to create a `MSSlidingPanelController`. Only write this few lines *et voila*! @@ -85,8 +85,10 @@ slidingPanelController = [[MSSlidingPanelController alloc] initWithCenterViewCon leftPanelController:leftPanelController andRightPanelController:rightPanelController]; ``` +You can also create it by using *Storyboard*. Take a look at the examples to see how it works ! + ## Credit -The library and the example are developed and designed by [Sébastien MICHOY](http://www.linkedin.com/in/sebastienmichoy). +The library and the examples are developed and designed by [Sébastien MICHOY](http://www.linkedin.com/in/sebastienmichoy). ## Feedback If you find a bug, feel free to create Github issues!