From 2d4a2ebf70ce7916da42f0f64f8298a214daa55d Mon Sep 17 00:00:00 2001 From: mo khan Date: Mon, 10 Jun 2013 20:40:57 -0600 Subject: add more examples --- .../Accelerometer.xcodeproj/project.pbxproj | 305 +++++++++++++ .../project.xcworkspace/contents.xcworkspacedata | 7 + .../mo.xcuserdatad/UserInterfaceState.xcuserstate | Bin 0 -> 12199 bytes .../xcschemes/Accelerometer.xcscheme | 86 ++++ .../xcschemes/xcschememanagement.plist | 22 + .../Accelerometer/Accelerometer-Info.plist | 38 ++ .../Accelerometer/Accelerometer-Prefix.pch | 14 + Accelerometer/Accelerometer/AppDelegate.h | 19 + Accelerometer/Accelerometer/AppDelegate.m | 52 +++ Accelerometer/Accelerometer/Default-568h@2x.png | Bin 0 -> 18594 bytes Accelerometer/Accelerometer/Default.png | Bin 0 -> 6540 bytes Accelerometer/Accelerometer/Default@2x.png | Bin 0 -> 16107 bytes Accelerometer/Accelerometer/ViewController.h | 13 + Accelerometer/Accelerometer/ViewController.m | 58 +++ .../Accelerometer/en.lproj/InfoPlist.strings | 2 + .../Accelerometer/en.lproj/ViewController.xib | 283 ++++++++++++ Accelerometer/Accelerometer/main.m | 18 + Animation/Animation.xcodeproj/project.pbxproj | 305 +++++++++++++ .../project.xcworkspace/contents.xcworkspacedata | 7 + .../mo.xcuserdatad/UserInterfaceState.xcuserstate | Bin 0 -> 14083 bytes .../mo.xcuserdatad/xcschemes/Animation.xcscheme | 86 ++++ .../xcschemes/xcschememanagement.plist | 22 + Animation/Animation/Animation-Info.plist | 38 ++ Animation/Animation/Animation-Prefix.pch | 14 + Animation/Animation/AppDelegate.h | 19 + Animation/Animation/AppDelegate.m | 52 +++ Animation/Animation/Default-568h@2x.png | Bin 0 -> 18594 bytes Animation/Animation/Default.png | Bin 0 -> 6540 bytes Animation/Animation/Default@2x.png | Bin 0 -> 16107 bytes Animation/Animation/ViewController.h | 18 + Animation/Animation/ViewController.m | 60 +++ Animation/Animation/en.lproj/InfoPlist.strings | 2 + Animation/Animation/en.lproj/ViewController.xib | 283 ++++++++++++ Animation/Animation/main.m | 18 + Drawing/Drawing.xcodeproj/project.pbxproj | 311 ++++++++++++++ .../project.xcworkspace/contents.xcworkspacedata | 7 + .../mo.xcuserdatad/UserInterfaceState.xcuserstate | Bin 0 -> 12006 bytes .../mo.xcuserdatad/xcschemes/Drawing.xcscheme | 86 ++++ .../xcschemes/xcschememanagement.plist | 22 + Drawing/Drawing/AppDelegate.h | 19 + Drawing/Drawing/AppDelegate.m | 52 +++ Drawing/Drawing/Default-568h@2x.png | Bin 0 -> 18594 bytes Drawing/Drawing/Default.png | Bin 0 -> 6540 bytes Drawing/Drawing/Default@2x.png | Bin 0 -> 16107 bytes Drawing/Drawing/Drawing-Info.plist | 38 ++ Drawing/Drawing/Drawing-Prefix.pch | 14 + Drawing/Drawing/DrawingView.h | 13 + Drawing/Drawing/DrawingView.m | 65 +++ Drawing/Drawing/ViewController.h | 13 + Drawing/Drawing/ViewController.m | 29 ++ Drawing/Drawing/en.lproj/InfoPlist.strings | 2 + Drawing/Drawing/en.lproj/ViewController.xib | 277 ++++++++++++ Drawing/Drawing/main.m | 18 + Gestures/Gestures.xcodeproj/project.pbxproj | 305 +++++++++++++ .../project.xcworkspace/contents.xcworkspacedata | 7 + .../mo.xcuserdatad/UserInterfaceState.xcuserstate | Bin 0 -> 13074 bytes .../mo.xcuserdatad/xcschemes/Gestures.xcscheme | 86 ++++ .../xcschemes/xcschememanagement.plist | 22 + Gestures/Gestures/AppDelegate.h | 19 + Gestures/Gestures/AppDelegate.m | 52 +++ Gestures/Gestures/Default-568h@2x.png | Bin 0 -> 18594 bytes Gestures/Gestures/Default.png | Bin 0 -> 6540 bytes Gestures/Gestures/Default@2x.png | Bin 0 -> 16107 bytes Gestures/Gestures/Gestures-Info.plist | 38 ++ Gestures/Gestures/Gestures-Prefix.pch | 14 + Gestures/Gestures/ViewController.h | 13 + Gestures/Gestures/ViewController.m | 93 ++++ Gestures/Gestures/en.lproj/InfoPlist.strings | 2 + Gestures/Gestures/en.lproj/ViewController.xib | 282 ++++++++++++ Gestures/Gestures/main.m | 18 + KVO/KVO.xcodeproj/project.pbxproj | 478 +++++++++++++++++++++ .../project.xcworkspace/contents.xcworkspacedata | 7 + .../mo.xcuserdatad/UserInterfaceState.xcuserstate | Bin 0 -> 12821 bytes .../mo.xcuserdatad/WorkspaceSettings.xcsettings | 10 + .../mo.xcuserdatad/xcschemes/KVO.xcscheme | 96 +++++ .../xcschemes/xcschememanagement.plist | 27 ++ KVO/KVO/AppDelegate.h | 19 + KVO/KVO/AppDelegate.m | 52 +++ KVO/KVO/Default-568h@2x.png | Bin 0 -> 18594 bytes KVO/KVO/Default.png | Bin 0 -> 6540 bytes KVO/KVO/Default@2x.png | Bin 0 -> 16107 bytes KVO/KVO/FirstViewController.h | 13 + KVO/KVO/FirstViewController.m | 29 ++ KVO/KVO/KVO-Info.plist | 38 ++ KVO/KVO/KVO-Prefix.pch | 14 + KVO/KVO/SecondViewController.h | 13 + KVO/KVO/SecondViewController.m | 38 ++ KVO/KVO/SecondViewController.xib | 137 ++++++ KVO/KVO/en.lproj/FirstViewController.xib | 124 ++++++ KVO/KVO/en.lproj/InfoPlist.strings | 2 + KVO/KVO/main.m | 18 + KVO/KVOTests/KVOTests-Info.plist | 22 + KVO/KVOTests/KVOTests.h | 13 + KVO/KVOTests/KVOTests.m | 32 ++ KVO/KVOTests/en.lproj/InfoPlist.strings | 2 + Modal/Modal.xcodeproj/project.pbxproj | 315 ++++++++++++++ .../project.xcworkspace/contents.xcworkspacedata | 7 + .../mo.xcuserdatad/UserInterfaceState.xcuserstate | Bin 0 -> 14278 bytes .../mo.xcuserdatad/xcschemes/Modal.xcscheme | 86 ++++ .../xcschemes/xcschememanagement.plist | 22 + Modal/Modal/AppDelegate.h | 19 + Modal/Modal/AppDelegate.m | 52 +++ Modal/Modal/Default-568h@2x.png | Bin 0 -> 18594 bytes Modal/Modal/Default.png | Bin 0 -> 6540 bytes Modal/Modal/Default@2x.png | Bin 0 -> 16107 bytes Modal/Modal/Modal-Info.plist | 38 ++ Modal/Modal/Modal-Prefix.pch | 14 + Modal/Modal/ModalViewController.h | 13 + Modal/Modal/ModalViewController.m | 42 ++ Modal/Modal/ModalViewController.xib | 265 ++++++++++++ Modal/Modal/ViewController.h | 14 + Modal/Modal/ViewController.m | 37 ++ Modal/Modal/en.lproj/InfoPlist.strings | 2 + Modal/Modal/en.lproj/ViewController.xib | 264 ++++++++++++ Modal/Modal/main.m | 18 + .../MultiViewStoryTabBar.xcodeproj/project.pbxproj | 339 +++++++++++++++ .../project.xcworkspace/contents.xcworkspacedata | 7 + .../mo.xcuserdatad/UserInterfaceState.xcuserstate | Bin 0 -> 15470 bytes .../mo.xcuserdatad/WorkspaceSettings.xcsettings | 10 + .../xcschemes/MultiViewStoryTabBar.xcscheme | 86 ++++ .../xcschemes/xcschememanagement.plist | 22 + .../MultiViewStoryTabBar/AppDelegate.h | 15 + .../MultiViewStoryTabBar/AppDelegate.m | 46 ++ .../MultiViewStoryTabBar/Default-568h@2x.png | Bin 0 -> 18594 bytes .../MultiViewStoryTabBar/Default.png | Bin 0 -> 6540 bytes .../MultiViewStoryTabBar/Default@2x.png | Bin 0 -> 16107 bytes .../MultiViewStoryTabBar/FirstViewController.h | 13 + .../MultiViewStoryTabBar/FirstViewController.m | 29 ++ .../MultiViewStoryTabBar/FourthViewController.h | 13 + .../MultiViewStoryTabBar/FourthViewController.m | 38 ++ .../MultiViewStoryTabBar-Info.plist | 40 ++ .../MultiViewStoryTabBar-Prefix.pch | 14 + .../MultiViewStoryTabBar/SecondViewController.h | 13 + .../MultiViewStoryTabBar/SecondViewController.m | 38 ++ .../MultiViewStoryTabBar/ThirdViewController.h | 13 + .../MultiViewStoryTabBar/ThirdViewController.m | 38 ++ .../en.lproj/InfoPlist.strings | 2 + .../en.lproj/MainStoryboard.storyboard | 137 ++++++ .../MultiViewStoryTabBar/first.png | Bin 0 -> 253 bytes .../MultiViewStoryTabBar/first@2x.png | Bin 0 -> 402 bytes MultiViewStoryTabBar/MultiViewStoryTabBar/main.m | 18 + .../MultiViewStoryTabBar/second.png | Bin 0 -> 128 bytes .../MultiViewStoryTabBar/second@2x.png | Bin 0 -> 130 bytes .../mo.xcuserdatad/UserInterfaceState.xcuserstate | Bin 15813 -> 15817 bytes .../MultiViewsStoryNav..xcodeproj/project.pbxproj | 317 ++++++++++++++ .../project.xcworkspace/contents.xcworkspacedata | 7 + .../mo.xcuserdatad/UserInterfaceState.xcuserstate | Bin 0 -> 14167 bytes .../mo.xcuserdatad/WorkspaceSettings.xcsettings | 10 + .../xcschemes/MultiViewsStoryNav..xcscheme | 86 ++++ .../xcschemes/xcschememanagement.plist | 22 + .../MultiViewsStoryNav./AppDelegate.h | 15 + .../MultiViewsStoryNav./AppDelegate.m | 46 ++ .../MultiViewsStoryNav./Default-568h@2x.png | Bin 0 -> 18594 bytes .../MultiViewsStoryNav./Default.png | Bin 0 -> 6540 bytes .../MultiViewsStoryNav./Default@2x.png | Bin 0 -> 16107 bytes .../MultiViewsStoryNav./FirstViewController.h | 13 + .../MultiViewsStoryNav./FirstViewController.m | 29 ++ .../MultiViewsStoryNav.-Info.plist | 40 ++ .../MultiViewsStoryNav.-Prefix.pch | 14 + .../MultiViewsStoryNav./SecondViewController.h | 13 + .../MultiViewsStoryNav./SecondViewController.m | 38 ++ .../MultiViewsStoryNav./ThirdViewController.h | 13 + .../MultiViewsStoryNav./ThirdViewController.m | 38 ++ .../MultiViewsStoryNav./en.lproj/InfoPlist.strings | 2 + .../en.lproj/MainStoryboard.storyboard | 99 +++++ MultiViewsStoryNav./MultiViewsStoryNav./main.m | 18 + Protocol/Protocol.xcodeproj/project.pbxproj | 305 +++++++++++++ .../project.xcworkspace/contents.xcworkspacedata | 7 + .../mo.xcuserdatad/UserInterfaceState.xcuserstate | Bin 0 -> 13478 bytes .../mo.xcuserdatad/WorkspaceSettings.xcsettings | 10 + .../mo.xcuserdatad/xcschemes/Protocol.xcscheme | 86 ++++ .../xcschemes/xcschememanagement.plist | 22 + Protocol/Protocol/AppDelegate.h | 19 + Protocol/Protocol/AppDelegate.m | 52 +++ Protocol/Protocol/Default-568h@2x.png | Bin 0 -> 18594 bytes Protocol/Protocol/Default.png | Bin 0 -> 6540 bytes Protocol/Protocol/Default@2x.png | Bin 0 -> 16107 bytes Protocol/Protocol/FirstViewController.h | 13 + Protocol/Protocol/FirstViewController.m | 29 ++ Protocol/Protocol/Protocol-Info.plist | 38 ++ Protocol/Protocol/Protocol-Prefix.pch | 14 + Protocol/Protocol/en.lproj/FirstViewController.xib | 137 ++++++ Protocol/Protocol/en.lproj/InfoPlist.strings | 2 + Protocol/Protocol/main.m | 18 + SplitViewXIBFonts/.idea/.name | 1 + SplitViewXIBFonts/.idea/SplitViewXIBFonts.iml | 11 + SplitViewXIBFonts/.idea/encodings.xml | 5 + SplitViewXIBFonts/.idea/misc.xml | 5 + SplitViewXIBFonts/.idea/modules.xml | 9 + SplitViewXIBFonts/.idea/scopes/scope_settings.xml | 5 + SplitViewXIBFonts/.idea/vcs.xml | 7 + SplitViewXIBFonts/.idea/workspace.xml | 266 ++++++++++++ SplitViewXIBFonts/.idea/xcode.xml | 5 + .../SplitViewXIBFonts.xcodeproj/project.pbxproj | 325 ++++++++++++++ .../project.xcworkspace/contents.xcworkspacedata | 7 + .../mo.xcuserdatad/UserInterfaceState.xcuserstate | Bin 0 -> 12101 bytes .../xcschemes/SplitViewXIBFonts.xcscheme | 86 ++++ .../xcschemes/xcschememanagement.plist | 22 + SplitViewXIBFonts/SplitViewXIBFonts/AppDelegate.h | 17 + SplitViewXIBFonts/SplitViewXIBFonts/AppDelegate.m | 65 +++ .../SplitViewXIBFonts/Default-568h@2x.png | Bin 0 -> 18594 bytes SplitViewXIBFonts/SplitViewXIBFonts/Default.png | Bin 0 -> 6540 bytes SplitViewXIBFonts/SplitViewXIBFonts/Default@2x.png | Bin 0 -> 16107 bytes .../SplitViewXIBFonts/DetailViewController.h | 16 + .../SplitViewXIBFonts/DetailViewController.m | 81 ++++ .../SplitViewXIBFonts/MasterViewController.h | 20 + .../SplitViewXIBFonts/MasterViewController.m | 130 ++++++ .../SplitViewXIBFonts/SplitViewXIBFonts-Info.plist | 55 +++ .../SplitViewXIBFonts/SplitViewXIBFonts-Prefix.pch | 14 + .../en.lproj/DetailViewController.xib | 223 ++++++++++ .../SplitViewXIBFonts/en.lproj/InfoPlist.strings | 2 + .../en.lproj/MasterViewController.xib | 152 +++++++ SplitViewXIBFonts/SplitViewXIBFonts/main.m | 18 + 213 files changed, 10200 insertions(+) create mode 100644 Accelerometer/Accelerometer.xcodeproj/project.pbxproj create mode 100644 Accelerometer/Accelerometer.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Accelerometer/Accelerometer.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Accelerometer/Accelerometer.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Accelerometer.xcscheme create mode 100644 Accelerometer/Accelerometer.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Accelerometer/Accelerometer/Accelerometer-Info.plist create mode 100644 Accelerometer/Accelerometer/Accelerometer-Prefix.pch create mode 100644 Accelerometer/Accelerometer/AppDelegate.h create mode 100644 Accelerometer/Accelerometer/AppDelegate.m create mode 100644 Accelerometer/Accelerometer/Default-568h@2x.png create mode 100644 Accelerometer/Accelerometer/Default.png create mode 100644 Accelerometer/Accelerometer/Default@2x.png create mode 100644 Accelerometer/Accelerometer/ViewController.h create mode 100644 Accelerometer/Accelerometer/ViewController.m create mode 100644 Accelerometer/Accelerometer/en.lproj/InfoPlist.strings create mode 100644 Accelerometer/Accelerometer/en.lproj/ViewController.xib create mode 100644 Accelerometer/Accelerometer/main.m create mode 100644 Animation/Animation.xcodeproj/project.pbxproj create mode 100644 Animation/Animation.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Animation/Animation.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Animation/Animation.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Animation.xcscheme create mode 100644 Animation/Animation.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Animation/Animation/Animation-Info.plist create mode 100644 Animation/Animation/Animation-Prefix.pch create mode 100644 Animation/Animation/AppDelegate.h create mode 100644 Animation/Animation/AppDelegate.m create mode 100644 Animation/Animation/Default-568h@2x.png create mode 100644 Animation/Animation/Default.png create mode 100644 Animation/Animation/Default@2x.png create mode 100644 Animation/Animation/ViewController.h create mode 100644 Animation/Animation/ViewController.m create mode 100644 Animation/Animation/en.lproj/InfoPlist.strings create mode 100644 Animation/Animation/en.lproj/ViewController.xib create mode 100644 Animation/Animation/main.m create mode 100644 Drawing/Drawing.xcodeproj/project.pbxproj create mode 100644 Drawing/Drawing.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Drawing/Drawing.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Drawing/Drawing.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Drawing.xcscheme create mode 100644 Drawing/Drawing.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Drawing/Drawing/AppDelegate.h create mode 100644 Drawing/Drawing/AppDelegate.m create mode 100644 Drawing/Drawing/Default-568h@2x.png create mode 100644 Drawing/Drawing/Default.png create mode 100644 Drawing/Drawing/Default@2x.png create mode 100644 Drawing/Drawing/Drawing-Info.plist create mode 100644 Drawing/Drawing/Drawing-Prefix.pch create mode 100644 Drawing/Drawing/DrawingView.h create mode 100644 Drawing/Drawing/DrawingView.m create mode 100644 Drawing/Drawing/ViewController.h create mode 100644 Drawing/Drawing/ViewController.m create mode 100644 Drawing/Drawing/en.lproj/InfoPlist.strings create mode 100644 Drawing/Drawing/en.lproj/ViewController.xib create mode 100644 Drawing/Drawing/main.m create mode 100644 Gestures/Gestures.xcodeproj/project.pbxproj create mode 100644 Gestures/Gestures.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Gestures/Gestures.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Gestures/Gestures.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Gestures.xcscheme create mode 100644 Gestures/Gestures.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Gestures/Gestures/AppDelegate.h create mode 100644 Gestures/Gestures/AppDelegate.m create mode 100644 Gestures/Gestures/Default-568h@2x.png create mode 100644 Gestures/Gestures/Default.png create mode 100644 Gestures/Gestures/Default@2x.png create mode 100644 Gestures/Gestures/Gestures-Info.plist create mode 100644 Gestures/Gestures/Gestures-Prefix.pch create mode 100644 Gestures/Gestures/ViewController.h create mode 100644 Gestures/Gestures/ViewController.m create mode 100644 Gestures/Gestures/en.lproj/InfoPlist.strings create mode 100644 Gestures/Gestures/en.lproj/ViewController.xib create mode 100644 Gestures/Gestures/main.m create mode 100644 KVO/KVO.xcodeproj/project.pbxproj create mode 100644 KVO/KVO.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 KVO/KVO.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 KVO/KVO.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/WorkspaceSettings.xcsettings create mode 100644 KVO/KVO.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/KVO.xcscheme create mode 100644 KVO/KVO.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 KVO/KVO/AppDelegate.h create mode 100644 KVO/KVO/AppDelegate.m create mode 100644 KVO/KVO/Default-568h@2x.png create mode 100644 KVO/KVO/Default.png create mode 100644 KVO/KVO/Default@2x.png create mode 100644 KVO/KVO/FirstViewController.h create mode 100644 KVO/KVO/FirstViewController.m create mode 100644 KVO/KVO/KVO-Info.plist create mode 100644 KVO/KVO/KVO-Prefix.pch create mode 100644 KVO/KVO/SecondViewController.h create mode 100644 KVO/KVO/SecondViewController.m create mode 100644 KVO/KVO/SecondViewController.xib create mode 100644 KVO/KVO/en.lproj/FirstViewController.xib create mode 100644 KVO/KVO/en.lproj/InfoPlist.strings create mode 100644 KVO/KVO/main.m create mode 100644 KVO/KVOTests/KVOTests-Info.plist create mode 100644 KVO/KVOTests/KVOTests.h create mode 100644 KVO/KVOTests/KVOTests.m create mode 100644 KVO/KVOTests/en.lproj/InfoPlist.strings create mode 100644 Modal/Modal.xcodeproj/project.pbxproj create mode 100644 Modal/Modal.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Modal/Modal.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Modal/Modal.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Modal.xcscheme create mode 100644 Modal/Modal.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Modal/Modal/AppDelegate.h create mode 100644 Modal/Modal/AppDelegate.m create mode 100644 Modal/Modal/Default-568h@2x.png create mode 100644 Modal/Modal/Default.png create mode 100644 Modal/Modal/Default@2x.png create mode 100644 Modal/Modal/Modal-Info.plist create mode 100644 Modal/Modal/Modal-Prefix.pch create mode 100644 Modal/Modal/ModalViewController.h create mode 100644 Modal/Modal/ModalViewController.m create mode 100644 Modal/Modal/ModalViewController.xib create mode 100644 Modal/Modal/ViewController.h create mode 100644 Modal/Modal/ViewController.m create mode 100644 Modal/Modal/en.lproj/InfoPlist.strings create mode 100644 Modal/Modal/en.lproj/ViewController.xib create mode 100644 Modal/Modal/main.m create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/project.pbxproj create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/WorkspaceSettings.xcsettings create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/MultiViewStoryTabBar.xcscheme create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/AppDelegate.h create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/AppDelegate.m create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/Default-568h@2x.png create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/Default.png create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/Default@2x.png create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/FirstViewController.h create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/FirstViewController.m create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/FourthViewController.h create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/FourthViewController.m create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/MultiViewStoryTabBar-Info.plist create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/MultiViewStoryTabBar-Prefix.pch create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/SecondViewController.h create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/SecondViewController.m create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/ThirdViewController.h create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/ThirdViewController.m create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/en.lproj/InfoPlist.strings create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/en.lproj/MainStoryboard.storyboard create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/first.png create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/first@2x.png create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/main.m create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/second.png create mode 100644 MultiViewStoryTabBar/MultiViewStoryTabBar/second@2x.png create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/project.pbxproj create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/WorkspaceSettings.xcsettings create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/MultiViewsStoryNav..xcscheme create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav./AppDelegate.h create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav./AppDelegate.m create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav./Default-568h@2x.png create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav./Default.png create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav./Default@2x.png create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav./FirstViewController.h create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav./FirstViewController.m create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav./MultiViewsStoryNav.-Info.plist create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav./MultiViewsStoryNav.-Prefix.pch create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav./SecondViewController.h create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav./SecondViewController.m create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav./ThirdViewController.h create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav./ThirdViewController.m create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav./en.lproj/InfoPlist.strings create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav./en.lproj/MainStoryboard.storyboard create mode 100644 MultiViewsStoryNav./MultiViewsStoryNav./main.m create mode 100644 Protocol/Protocol.xcodeproj/project.pbxproj create mode 100644 Protocol/Protocol.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Protocol/Protocol.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Protocol/Protocol.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/WorkspaceSettings.xcsettings create mode 100644 Protocol/Protocol.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Protocol.xcscheme create mode 100644 Protocol/Protocol.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Protocol/Protocol/AppDelegate.h create mode 100644 Protocol/Protocol/AppDelegate.m create mode 100644 Protocol/Protocol/Default-568h@2x.png create mode 100644 Protocol/Protocol/Default.png create mode 100644 Protocol/Protocol/Default@2x.png create mode 100644 Protocol/Protocol/FirstViewController.h create mode 100644 Protocol/Protocol/FirstViewController.m create mode 100644 Protocol/Protocol/Protocol-Info.plist create mode 100644 Protocol/Protocol/Protocol-Prefix.pch create mode 100644 Protocol/Protocol/en.lproj/FirstViewController.xib create mode 100644 Protocol/Protocol/en.lproj/InfoPlist.strings create mode 100644 Protocol/Protocol/main.m create mode 100644 SplitViewXIBFonts/.idea/.name create mode 100644 SplitViewXIBFonts/.idea/SplitViewXIBFonts.iml create mode 100644 SplitViewXIBFonts/.idea/encodings.xml create mode 100644 SplitViewXIBFonts/.idea/misc.xml create mode 100644 SplitViewXIBFonts/.idea/modules.xml create mode 100644 SplitViewXIBFonts/.idea/scopes/scope_settings.xml create mode 100644 SplitViewXIBFonts/.idea/vcs.xml create mode 100644 SplitViewXIBFonts/.idea/workspace.xml create mode 100644 SplitViewXIBFonts/.idea/xcode.xml create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/project.pbxproj create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/SplitViewXIBFonts.xcscheme create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts/AppDelegate.h create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts/AppDelegate.m create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts/Default-568h@2x.png create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts/Default.png create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts/Default@2x.png create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts/DetailViewController.h create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts/DetailViewController.m create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts/MasterViewController.h create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts/MasterViewController.m create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts/SplitViewXIBFonts-Info.plist create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts/SplitViewXIBFonts-Prefix.pch create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts/en.lproj/DetailViewController.xib create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts/en.lproj/InfoPlist.strings create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts/en.lproj/MasterViewController.xib create mode 100644 SplitViewXIBFonts/SplitViewXIBFonts/main.m diff --git a/Accelerometer/Accelerometer.xcodeproj/project.pbxproj b/Accelerometer/Accelerometer.xcodeproj/project.pbxproj new file mode 100644 index 0000000..24e9ab0 --- /dev/null +++ b/Accelerometer/Accelerometer.xcodeproj/project.pbxproj @@ -0,0 +1,305 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + CD459B8B1766C40400288A26 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD459B8A1766C40400288A26 /* UIKit.framework */; }; + CD459B8D1766C40400288A26 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD459B8C1766C40400288A26 /* Foundation.framework */; }; + CD459B8F1766C40400288A26 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD459B8E1766C40400288A26 /* CoreGraphics.framework */; }; + CD459B951766C40400288A26 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = CD459B931766C40400288A26 /* InfoPlist.strings */; }; + CD459B971766C40400288A26 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CD459B961766C40400288A26 /* main.m */; }; + CD459B9B1766C40400288A26 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CD459B9A1766C40400288A26 /* AppDelegate.m */; }; + CD459B9D1766C40400288A26 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = CD459B9C1766C40400288A26 /* Default.png */; }; + CD459B9F1766C40400288A26 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD459B9E1766C40400288A26 /* Default@2x.png */; }; + CD459BA11766C40400288A26 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD459BA01766C40400288A26 /* Default-568h@2x.png */; }; + CD459BA41766C40400288A26 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD459BA31766C40400288A26 /* ViewController.m */; }; + CD459BA71766C40400288A26 /* ViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD459BA51766C40400288A26 /* ViewController.xib */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + CD459B871766C40400288A26 /* Accelerometer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Accelerometer.app; sourceTree = BUILT_PRODUCTS_DIR; }; + CD459B8A1766C40400288A26 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + CD459B8C1766C40400288A26 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + CD459B8E1766C40400288A26 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + CD459B921766C40400288A26 /* Accelerometer-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Accelerometer-Info.plist"; sourceTree = ""; }; + CD459B941766C40400288A26 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + CD459B961766C40400288A26 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + CD459B981766C40400288A26 /* Accelerometer-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Accelerometer-Prefix.pch"; sourceTree = ""; }; + CD459B991766C40400288A26 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + CD459B9A1766C40400288A26 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + CD459B9C1766C40400288A26 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; + CD459B9E1766C40400288A26 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; + CD459BA01766C40400288A26 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; + CD459BA21766C40400288A26 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + CD459BA31766C40400288A26 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + CD459BA61766C40400288A26 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController.xib; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + CD459B841766C40400288A26 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CD459B8B1766C40400288A26 /* UIKit.framework in Frameworks */, + CD459B8D1766C40400288A26 /* Foundation.framework in Frameworks */, + CD459B8F1766C40400288A26 /* CoreGraphics.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + CD459B7E1766C40400288A26 = { + isa = PBXGroup; + children = ( + CD459B901766C40400288A26 /* Accelerometer */, + CD459B891766C40400288A26 /* Frameworks */, + CD459B881766C40400288A26 /* Products */, + ); + sourceTree = ""; + }; + CD459B881766C40400288A26 /* Products */ = { + isa = PBXGroup; + children = ( + CD459B871766C40400288A26 /* Accelerometer.app */, + ); + name = Products; + sourceTree = ""; + }; + CD459B891766C40400288A26 /* Frameworks */ = { + isa = PBXGroup; + children = ( + CD459B8A1766C40400288A26 /* UIKit.framework */, + CD459B8C1766C40400288A26 /* Foundation.framework */, + CD459B8E1766C40400288A26 /* CoreGraphics.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + CD459B901766C40400288A26 /* Accelerometer */ = { + isa = PBXGroup; + children = ( + CD459B991766C40400288A26 /* AppDelegate.h */, + CD459B9A1766C40400288A26 /* AppDelegate.m */, + CD459BA21766C40400288A26 /* ViewController.h */, + CD459BA31766C40400288A26 /* ViewController.m */, + CD459BA51766C40400288A26 /* ViewController.xib */, + CD459B911766C40400288A26 /* Supporting Files */, + ); + path = Accelerometer; + sourceTree = ""; + }; + CD459B911766C40400288A26 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + CD459B921766C40400288A26 /* Accelerometer-Info.plist */, + CD459B931766C40400288A26 /* InfoPlist.strings */, + CD459B961766C40400288A26 /* main.m */, + CD459B981766C40400288A26 /* Accelerometer-Prefix.pch */, + CD459B9C1766C40400288A26 /* Default.png */, + CD459B9E1766C40400288A26 /* Default@2x.png */, + CD459BA01766C40400288A26 /* Default-568h@2x.png */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + CD459B861766C40400288A26 /* Accelerometer */ = { + isa = PBXNativeTarget; + buildConfigurationList = CD459BAA1766C40400288A26 /* Build configuration list for PBXNativeTarget "Accelerometer" */; + buildPhases = ( + CD459B831766C40400288A26 /* Sources */, + CD459B841766C40400288A26 /* Frameworks */, + CD459B851766C40400288A26 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Accelerometer; + productName = Accelerometer; + productReference = CD459B871766C40400288A26 /* Accelerometer.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + CD459B7F1766C40400288A26 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0460; + ORGANIZATIONNAME = "mo khan"; + }; + buildConfigurationList = CD459B821766C40400288A26 /* Build configuration list for PBXProject "Accelerometer" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = CD459B7E1766C40400288A26; + productRefGroup = CD459B881766C40400288A26 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CD459B861766C40400288A26 /* Accelerometer */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + CD459B851766C40400288A26 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CD459B951766C40400288A26 /* InfoPlist.strings in Resources */, + CD459B9D1766C40400288A26 /* Default.png in Resources */, + CD459B9F1766C40400288A26 /* Default@2x.png in Resources */, + CD459BA11766C40400288A26 /* Default-568h@2x.png in Resources */, + CD459BA71766C40400288A26 /* ViewController.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + CD459B831766C40400288A26 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CD459B971766C40400288A26 /* main.m in Sources */, + CD459B9B1766C40400288A26 /* AppDelegate.m in Sources */, + CD459BA41766C40400288A26 /* ViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + CD459B931766C40400288A26 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + CD459B941766C40400288A26 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + CD459BA51766C40400288A26 /* ViewController.xib */ = { + isa = PBXVariantGroup; + children = ( + CD459BA61766C40400288A26 /* en */, + ); + name = ViewController.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + CD459BA81766C40400288A26 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + 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_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + CD459BA91766C40400288A26 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + CD459BAB1766C40400288A26 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Accelerometer/Accelerometer-Prefix.pch"; + INFOPLIST_FILE = "Accelerometer/Accelerometer-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + CD459BAC1766C40400288A26 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Accelerometer/Accelerometer-Prefix.pch"; + INFOPLIST_FILE = "Accelerometer/Accelerometer-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + CD459B821766C40400288A26 /* Build configuration list for PBXProject "Accelerometer" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CD459BA81766C40400288A26 /* Debug */, + CD459BA91766C40400288A26 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CD459BAA1766C40400288A26 /* Build configuration list for PBXNativeTarget "Accelerometer" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CD459BAB1766C40400288A26 /* Debug */, + CD459BAC1766C40400288A26 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = CD459B7F1766C40400288A26 /* Project object */; +} diff --git a/Accelerometer/Accelerometer.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Accelerometer/Accelerometer.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..5af98f4 --- /dev/null +++ b/Accelerometer/Accelerometer.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Accelerometer/Accelerometer.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate b/Accelerometer/Accelerometer.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..0c800e1 Binary files /dev/null and b/Accelerometer/Accelerometer.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Accelerometer/Accelerometer.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Accelerometer.xcscheme b/Accelerometer/Accelerometer.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Accelerometer.xcscheme new file mode 100644 index 0000000..8ade243 --- /dev/null +++ b/Accelerometer/Accelerometer.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Accelerometer.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Accelerometer/Accelerometer.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist b/Accelerometer/Accelerometer.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..46b7f1c --- /dev/null +++ b/Accelerometer/Accelerometer.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Accelerometer.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + CD459B861766C40400288A26 + + primary + + + + + diff --git a/Accelerometer/Accelerometer/Accelerometer-Info.plist b/Accelerometer/Accelerometer/Accelerometer-Info.plist new file mode 100644 index 0000000..72d55a8 --- /dev/null +++ b/Accelerometer/Accelerometer/Accelerometer-Info.plist @@ -0,0 +1,38 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + mokhan.ca.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Accelerometer/Accelerometer/Accelerometer-Prefix.pch b/Accelerometer/Accelerometer/Accelerometer-Prefix.pch new file mode 100644 index 0000000..a5456cc --- /dev/null +++ b/Accelerometer/Accelerometer/Accelerometer-Prefix.pch @@ -0,0 +1,14 @@ +// +// Prefix header for all source files of the 'Accelerometer' target in the 'Accelerometer' project +// + +#import + +#ifndef __IPHONE_4_0 +#warning "This project uses features only available in iOS SDK 4.0 and later." +#endif + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/Accelerometer/Accelerometer/AppDelegate.h b/Accelerometer/Accelerometer/AppDelegate.h new file mode 100644 index 0000000..fa8e44f --- /dev/null +++ b/Accelerometer/Accelerometer/AppDelegate.h @@ -0,0 +1,19 @@ +// +// AppDelegate.h +// Accelerometer +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@class ViewController; + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@property (strong, nonatomic) ViewController *viewController; + +@end diff --git a/Accelerometer/Accelerometer/AppDelegate.m b/Accelerometer/Accelerometer/AppDelegate.m new file mode 100644 index 0000000..fd5bf6e --- /dev/null +++ b/Accelerometer/Accelerometer/AppDelegate.m @@ -0,0 +1,52 @@ +// +// AppDelegate.m +// Accelerometer +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "AppDelegate.h" + +#import "ViewController.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + // Override point for customization after application launch. + self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; + self.window.rootViewController = self.viewController; + [self.window makeKeyAndVisible]; + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + +@end diff --git a/Accelerometer/Accelerometer/Default-568h@2x.png b/Accelerometer/Accelerometer/Default-568h@2x.png new file mode 100644 index 0000000..0891b7a Binary files /dev/null and b/Accelerometer/Accelerometer/Default-568h@2x.png differ diff --git a/Accelerometer/Accelerometer/Default.png b/Accelerometer/Accelerometer/Default.png new file mode 100644 index 0000000..4c8ca6f Binary files /dev/null and b/Accelerometer/Accelerometer/Default.png differ diff --git a/Accelerometer/Accelerometer/Default@2x.png b/Accelerometer/Accelerometer/Default@2x.png new file mode 100644 index 0000000..35b84cf Binary files /dev/null and b/Accelerometer/Accelerometer/Default@2x.png differ diff --git a/Accelerometer/Accelerometer/ViewController.h b/Accelerometer/Accelerometer/ViewController.h new file mode 100644 index 0000000..8caf8a4 --- /dev/null +++ b/Accelerometer/Accelerometer/ViewController.h @@ -0,0 +1,13 @@ +// +// ViewController.h +// Accelerometer +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface ViewController : UIViewController +@property (strong, nonatomic) IBOutlet UIView * myView; +@end diff --git a/Accelerometer/Accelerometer/ViewController.m b/Accelerometer/Accelerometer/ViewController.m new file mode 100644 index 0000000..60dfbeb --- /dev/null +++ b/Accelerometer/Accelerometer/ViewController.m @@ -0,0 +1,58 @@ +// +// ViewController.m +// Accelerometer +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "ViewController.h" + +@interface ViewController () + +@end + +@implementation ViewController + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. + UIAccelerometer * acc = [UIAccelerometer sharedAccelerometer]; + acc.delegate = self; + acc.updateInterval = 1.0f/30.0f; +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +-(void) accelerometer:(UIAccelerometer *) accelerometer + didAccelerate:(UIAcceleration *) acceleration +{ + CGPoint newPoint = CGPointMake(self.myView.center.x, self.myView. + center.y); + if(acceleration.x > 0 && newPoint.x < 290) + { + newPoint.x = newPoint.x + (acceleration.x * 20); + [self.myView setCenter:newPoint]; + } + if(acceleration.x < 0 && newPoint.x > 30) + { + newPoint.x = newPoint.x + (acceleration.x * 20); + [self.myView setCenter:newPoint]; + } + if(acceleration.y < 0 && newPoint.y < 430) + { + newPoint.y = newPoint.y - (acceleration.y * 20); + [self.myView setCenter:newPoint]; + } + if(acceleration.y > 0 && newPoint.y > 30) + { + newPoint.y = newPoint.y - (acceleration.y * 20); + [self.myView setCenter:newPoint]; + } +} +@end diff --git a/Accelerometer/Accelerometer/en.lproj/InfoPlist.strings b/Accelerometer/Accelerometer/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/Accelerometer/Accelerometer/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/Accelerometer/Accelerometer/en.lproj/ViewController.xib b/Accelerometer/Accelerometer/en.lproj/ViewController.xib new file mode 100644 index 0000000..6f8d313 --- /dev/null +++ b/Accelerometer/Accelerometer/en.lproj/ViewController.xib @@ -0,0 +1,283 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 3084 + + + IBNSLayoutConstraint + IBProxyObject + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + + + + 274 + {{130, 244}, {60, 60}} + + + + _NS:9 + + 1 + MSAwLjk3ODIzMzU5NTQgMC4xMzYxMDc0OTI5AA + + IBCocoaTouchFramework + + + {{0, 20}, {320, 548}} + + + + + 1 + MCAwIDAAA + + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + + + + + + + view + + + + 7 + + + + myView + + + + 19 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 6 + + + + + 3 + 0 + + 3 + 1 + + 244 + + 1000 + + 3 + 9 + 3 + + + + 10 + 0 + + 10 + 1 + + 0.0 + + 1000 + + 5 + 22 + 2 + + + + 9 + 0 + + 9 + 1 + + 0.0 + + 1000 + + 5 + 22 + 2 + + + + 5 + 0 + + 5 + 1 + + 130 + + 1000 + + 3 + 9 + 3 + + + + + + + 8 + + + + + 15 + + + + + 16 + + + + + 17 + + + + + 18 + + + + + + + ViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + 19 + + + + + NSLayoutConstraint + NSObject + + IBProjectSource + ./Classes/NSLayoutConstraint.h + + + + ViewController + UIViewController + + myView + UIView + + + myView + + myView + UIView + + + + IBProjectSource + ./Classes/ViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/Accelerometer/Accelerometer/main.m b/Accelerometer/Accelerometer/main.m new file mode 100644 index 0000000..1b8faae --- /dev/null +++ b/Accelerometer/Accelerometer/main.m @@ -0,0 +1,18 @@ +// +// main.m +// Accelerometer +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. 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/Animation/Animation.xcodeproj/project.pbxproj b/Animation/Animation.xcodeproj/project.pbxproj new file mode 100644 index 0000000..5250755 --- /dev/null +++ b/Animation/Animation.xcodeproj/project.pbxproj @@ -0,0 +1,305 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + CD459B2D1766BFF700288A26 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD459B2C1766BFF700288A26 /* UIKit.framework */; }; + CD459B2F1766BFF700288A26 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD459B2E1766BFF700288A26 /* Foundation.framework */; }; + CD459B311766BFF700288A26 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD459B301766BFF700288A26 /* CoreGraphics.framework */; }; + CD459B371766BFF700288A26 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = CD459B351766BFF700288A26 /* InfoPlist.strings */; }; + CD459B391766BFF700288A26 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CD459B381766BFF700288A26 /* main.m */; }; + CD459B3D1766BFF700288A26 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CD459B3C1766BFF700288A26 /* AppDelegate.m */; }; + CD459B3F1766BFF700288A26 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = CD459B3E1766BFF700288A26 /* Default.png */; }; + CD459B411766BFF700288A26 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD459B401766BFF700288A26 /* Default@2x.png */; }; + CD459B431766BFF700288A26 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD459B421766BFF700288A26 /* Default-568h@2x.png */; }; + CD459B461766BFF700288A26 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD459B451766BFF700288A26 /* ViewController.m */; }; + CD459B491766BFF700288A26 /* ViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD459B471766BFF700288A26 /* ViewController.xib */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + CD459B291766BFF700288A26 /* Animation.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Animation.app; sourceTree = BUILT_PRODUCTS_DIR; }; + CD459B2C1766BFF700288A26 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + CD459B2E1766BFF700288A26 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + CD459B301766BFF700288A26 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + CD459B341766BFF700288A26 /* Animation-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Animation-Info.plist"; sourceTree = ""; }; + CD459B361766BFF700288A26 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + CD459B381766BFF700288A26 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + CD459B3A1766BFF700288A26 /* Animation-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Animation-Prefix.pch"; sourceTree = ""; }; + CD459B3B1766BFF700288A26 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + CD459B3C1766BFF700288A26 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + CD459B3E1766BFF700288A26 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; + CD459B401766BFF700288A26 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; + CD459B421766BFF700288A26 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; + CD459B441766BFF700288A26 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + CD459B451766BFF700288A26 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + CD459B481766BFF700288A26 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController.xib; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + CD459B261766BFF700288A26 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CD459B2D1766BFF700288A26 /* UIKit.framework in Frameworks */, + CD459B2F1766BFF700288A26 /* Foundation.framework in Frameworks */, + CD459B311766BFF700288A26 /* CoreGraphics.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + CD459B201766BFF700288A26 = { + isa = PBXGroup; + children = ( + CD459B321766BFF700288A26 /* Animation */, + CD459B2B1766BFF700288A26 /* Frameworks */, + CD459B2A1766BFF700288A26 /* Products */, + ); + sourceTree = ""; + }; + CD459B2A1766BFF700288A26 /* Products */ = { + isa = PBXGroup; + children = ( + CD459B291766BFF700288A26 /* Animation.app */, + ); + name = Products; + sourceTree = ""; + }; + CD459B2B1766BFF700288A26 /* Frameworks */ = { + isa = PBXGroup; + children = ( + CD459B2C1766BFF700288A26 /* UIKit.framework */, + CD459B2E1766BFF700288A26 /* Foundation.framework */, + CD459B301766BFF700288A26 /* CoreGraphics.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + CD459B321766BFF700288A26 /* Animation */ = { + isa = PBXGroup; + children = ( + CD459B3B1766BFF700288A26 /* AppDelegate.h */, + CD459B3C1766BFF700288A26 /* AppDelegate.m */, + CD459B441766BFF700288A26 /* ViewController.h */, + CD459B451766BFF700288A26 /* ViewController.m */, + CD459B471766BFF700288A26 /* ViewController.xib */, + CD459B331766BFF700288A26 /* Supporting Files */, + ); + path = Animation; + sourceTree = ""; + }; + CD459B331766BFF700288A26 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + CD459B341766BFF700288A26 /* Animation-Info.plist */, + CD459B351766BFF700288A26 /* InfoPlist.strings */, + CD459B381766BFF700288A26 /* main.m */, + CD459B3A1766BFF700288A26 /* Animation-Prefix.pch */, + CD459B3E1766BFF700288A26 /* Default.png */, + CD459B401766BFF700288A26 /* Default@2x.png */, + CD459B421766BFF700288A26 /* Default-568h@2x.png */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + CD459B281766BFF700288A26 /* Animation */ = { + isa = PBXNativeTarget; + buildConfigurationList = CD459B4C1766BFF700288A26 /* Build configuration list for PBXNativeTarget "Animation" */; + buildPhases = ( + CD459B251766BFF700288A26 /* Sources */, + CD459B261766BFF700288A26 /* Frameworks */, + CD459B271766BFF700288A26 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Animation; + productName = Animation; + productReference = CD459B291766BFF700288A26 /* Animation.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + CD459B211766BFF700288A26 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0460; + ORGANIZATIONNAME = "mo khan"; + }; + buildConfigurationList = CD459B241766BFF700288A26 /* Build configuration list for PBXProject "Animation" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = CD459B201766BFF700288A26; + productRefGroup = CD459B2A1766BFF700288A26 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CD459B281766BFF700288A26 /* Animation */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + CD459B271766BFF700288A26 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CD459B371766BFF700288A26 /* InfoPlist.strings in Resources */, + CD459B3F1766BFF700288A26 /* Default.png in Resources */, + CD459B411766BFF700288A26 /* Default@2x.png in Resources */, + CD459B431766BFF700288A26 /* Default-568h@2x.png in Resources */, + CD459B491766BFF700288A26 /* ViewController.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + CD459B251766BFF700288A26 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CD459B391766BFF700288A26 /* main.m in Sources */, + CD459B3D1766BFF700288A26 /* AppDelegate.m in Sources */, + CD459B461766BFF700288A26 /* ViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + CD459B351766BFF700288A26 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + CD459B361766BFF700288A26 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + CD459B471766BFF700288A26 /* ViewController.xib */ = { + isa = PBXVariantGroup; + children = ( + CD459B481766BFF700288A26 /* en */, + ); + name = ViewController.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + CD459B4A1766BFF700288A26 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + 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_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + CD459B4B1766BFF700288A26 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + CD459B4D1766BFF700288A26 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Animation/Animation-Prefix.pch"; + INFOPLIST_FILE = "Animation/Animation-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + CD459B4E1766BFF700288A26 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Animation/Animation-Prefix.pch"; + INFOPLIST_FILE = "Animation/Animation-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + CD459B241766BFF700288A26 /* Build configuration list for PBXProject "Animation" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CD459B4A1766BFF700288A26 /* Debug */, + CD459B4B1766BFF700288A26 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CD459B4C1766BFF700288A26 /* Build configuration list for PBXNativeTarget "Animation" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CD459B4D1766BFF700288A26 /* Debug */, + CD459B4E1766BFF700288A26 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = CD459B211766BFF700288A26 /* Project object */; +} diff --git a/Animation/Animation.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Animation/Animation.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..3424ca7 --- /dev/null +++ b/Animation/Animation.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Animation/Animation.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate b/Animation/Animation.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..019b970 Binary files /dev/null and b/Animation/Animation.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Animation/Animation.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Animation.xcscheme b/Animation/Animation.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Animation.xcscheme new file mode 100644 index 0000000..6e02a3f --- /dev/null +++ b/Animation/Animation.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Animation.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Animation/Animation.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist b/Animation/Animation.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..55c24e1 --- /dev/null +++ b/Animation/Animation.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Animation.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + CD459B281766BFF700288A26 + + primary + + + + + diff --git a/Animation/Animation/Animation-Info.plist b/Animation/Animation/Animation-Info.plist new file mode 100644 index 0000000..72d55a8 --- /dev/null +++ b/Animation/Animation/Animation-Info.plist @@ -0,0 +1,38 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + mokhan.ca.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Animation/Animation/Animation-Prefix.pch b/Animation/Animation/Animation-Prefix.pch new file mode 100644 index 0000000..75fb412 --- /dev/null +++ b/Animation/Animation/Animation-Prefix.pch @@ -0,0 +1,14 @@ +// +// Prefix header for all source files of the 'Animation' target in the 'Animation' project +// + +#import + +#ifndef __IPHONE_4_0 +#warning "This project uses features only available in iOS SDK 4.0 and later." +#endif + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/Animation/Animation/AppDelegate.h b/Animation/Animation/AppDelegate.h new file mode 100644 index 0000000..486b4a3 --- /dev/null +++ b/Animation/Animation/AppDelegate.h @@ -0,0 +1,19 @@ +// +// AppDelegate.h +// Animation +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@class ViewController; + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@property (strong, nonatomic) ViewController *viewController; + +@end diff --git a/Animation/Animation/AppDelegate.m b/Animation/Animation/AppDelegate.m new file mode 100644 index 0000000..dd24dbc --- /dev/null +++ b/Animation/Animation/AppDelegate.m @@ -0,0 +1,52 @@ +// +// AppDelegate.m +// Animation +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "AppDelegate.h" + +#import "ViewController.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + // Override point for customization after application launch. + self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; + self.window.rootViewController = self.viewController; + [self.window makeKeyAndVisible]; + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + +@end diff --git a/Animation/Animation/Default-568h@2x.png b/Animation/Animation/Default-568h@2x.png new file mode 100644 index 0000000..0891b7a Binary files /dev/null and b/Animation/Animation/Default-568h@2x.png differ diff --git a/Animation/Animation/Default.png b/Animation/Animation/Default.png new file mode 100644 index 0000000..4c8ca6f Binary files /dev/null and b/Animation/Animation/Default.png differ diff --git a/Animation/Animation/Default@2x.png b/Animation/Animation/Default@2x.png new file mode 100644 index 0000000..35b84cf Binary files /dev/null and b/Animation/Animation/Default@2x.png differ diff --git a/Animation/Animation/ViewController.h b/Animation/Animation/ViewController.h new file mode 100644 index 0000000..83cc9a1 --- /dev/null +++ b/Animation/Animation/ViewController.h @@ -0,0 +1,18 @@ +// +// ViewController.h +// Animation +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface ViewController : UIViewController +@property (strong, nonatomic) IBOutlet UIView *myView; +@property float randX; +@property float randY; +@property int intDur; +@property int intRot; +@property float alp; +@end diff --git a/Animation/Animation/ViewController.m b/Animation/Animation/ViewController.m new file mode 100644 index 0000000..e4822d4 --- /dev/null +++ b/Animation/Animation/ViewController.m @@ -0,0 +1,60 @@ +// +// ViewController.m +// Animation +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "ViewController.h" + +@interface ViewController () + +@end + +@implementation ViewController + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. + [self newValues]; +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +- (void)animate +{ + // put [UIView animate... in here + [UIView animateWithDuration:self.intDur delay:0 options: + UIViewAnimationOptionCurveEaseInOut animations:^ + { + CGPoint myPoint = self.myView.center; + myPoint.y = self.randY; + myPoint.x = self.randX; + self.myView.center = myPoint; + self.myView.transform = CGAffineTransformMakeRotation(self. + intRot); + self.myView.alpha = self.alp; + } + completion:^(BOOL f) + { + [self newValues]; + }]; +} + +- (void)newValues +{ + self.randX = (float)random() / RAND_MAX * 320; + self.randY = (float)random() / RAND_MAX * 460; + self.intDur = (int)((float)random() / RAND_MAX * 5) + 1; + self.intRot = (int)((float)random() / RAND_MAX * 6); + self.alp = (float)random() / RAND_MAX; + [self animate]; +} + +@end diff --git a/Animation/Animation/en.lproj/InfoPlist.strings b/Animation/Animation/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/Animation/Animation/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/Animation/Animation/en.lproj/ViewController.xib b/Animation/Animation/en.lproj/ViewController.xib new file mode 100644 index 0000000..c90616d --- /dev/null +++ b/Animation/Animation/en.lproj/ViewController.xib @@ -0,0 +1,283 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 3084 + + + IBNSLayoutConstraint + IBProxyObject + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + + + + 274 + {{186, 280}, {50, 50}} + + + + _NS:9 + + 1 + MSAwLjk3ODIzMzU5NTQgMC4xMzYxMDc0OTI5AA + + IBCocoaTouchFramework + + + {{0, 20}, {320, 548}} + + + + + 1 + MCAwIDAAA + + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + + + + + + + view + + + + 7 + + + + myView + + + + 19 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 6 + + + + + 5 + 0 + + 5 + 1 + + 186 + + 1000 + + 3 + 9 + 3 + + + + 6 + 0 + + 6 + 1 + + 84 + + 1000 + + 3 + 9 + 3 + + + + 4 + 0 + + 4 + 1 + + 218 + + 1000 + + 3 + 9 + 3 + + + + 3 + 0 + + 3 + 1 + + 280 + + 1000 + + 3 + 9 + 3 + + + + + + + 8 + + + + + 15 + + + + + 16 + + + + + 17 + + + + + 18 + + + + + + + ViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + 19 + + + + + NSLayoutConstraint + NSObject + + IBProjectSource + ./Classes/NSLayoutConstraint.h + + + + ViewController + UIViewController + + myView + UIView + + + myView + + myView + UIView + + + + IBProjectSource + ./Classes/ViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/Animation/Animation/main.m b/Animation/Animation/main.m new file mode 100644 index 0000000..e4cf34a --- /dev/null +++ b/Animation/Animation/main.m @@ -0,0 +1,18 @@ +// +// main.m +// Animation +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. 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/Drawing/Drawing.xcodeproj/project.pbxproj b/Drawing/Drawing.xcodeproj/project.pbxproj new file mode 100644 index 0000000..b75e413 --- /dev/null +++ b/Drawing/Drawing.xcodeproj/project.pbxproj @@ -0,0 +1,311 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + CD5B79E01766B9B800E68C0C /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD5B79DF1766B9B800E68C0C /* UIKit.framework */; }; + CD5B79E21766B9B800E68C0C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD5B79E11766B9B800E68C0C /* Foundation.framework */; }; + CD5B79E41766B9B800E68C0C /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD5B79E31766B9B800E68C0C /* CoreGraphics.framework */; }; + CD5B79EA1766B9B800E68C0C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = CD5B79E81766B9B800E68C0C /* InfoPlist.strings */; }; + CD5B79EC1766B9B800E68C0C /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CD5B79EB1766B9B800E68C0C /* main.m */; }; + CD5B79F01766B9B800E68C0C /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CD5B79EF1766B9B800E68C0C /* AppDelegate.m */; }; + CD5B79F21766B9B800E68C0C /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = CD5B79F11766B9B800E68C0C /* Default.png */; }; + CD5B79F41766B9B800E68C0C /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD5B79F31766B9B800E68C0C /* Default@2x.png */; }; + CD5B79F61766B9B800E68C0C /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD5B79F51766B9B800E68C0C /* Default-568h@2x.png */; }; + CD5B79F91766B9B800E68C0C /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD5B79F81766B9B800E68C0C /* ViewController.m */; }; + CD5B79FC1766B9B800E68C0C /* ViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD5B79FA1766B9B800E68C0C /* ViewController.xib */; }; + CD5B7A041766BA0C00E68C0C /* DrawingView.m in Sources */ = {isa = PBXBuildFile; fileRef = CD5B7A031766BA0C00E68C0C /* DrawingView.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + CD5B79DC1766B9B800E68C0C /* Drawing.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Drawing.app; sourceTree = BUILT_PRODUCTS_DIR; }; + CD5B79DF1766B9B800E68C0C /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + CD5B79E11766B9B800E68C0C /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + CD5B79E31766B9B800E68C0C /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + CD5B79E71766B9B800E68C0C /* Drawing-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Drawing-Info.plist"; sourceTree = ""; }; + CD5B79E91766B9B800E68C0C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + CD5B79EB1766B9B800E68C0C /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + CD5B79ED1766B9B800E68C0C /* Drawing-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Drawing-Prefix.pch"; sourceTree = ""; }; + CD5B79EE1766B9B800E68C0C /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + CD5B79EF1766B9B800E68C0C /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + CD5B79F11766B9B800E68C0C /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; + CD5B79F31766B9B800E68C0C /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; + CD5B79F51766B9B800E68C0C /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; + CD5B79F71766B9B800E68C0C /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + CD5B79F81766B9B800E68C0C /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + CD5B79FB1766B9B800E68C0C /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController.xib; sourceTree = ""; }; + CD5B7A021766BA0C00E68C0C /* DrawingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawingView.h; sourceTree = ""; }; + CD5B7A031766BA0C00E68C0C /* DrawingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DrawingView.m; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + CD5B79D91766B9B800E68C0C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CD5B79E01766B9B800E68C0C /* UIKit.framework in Frameworks */, + CD5B79E21766B9B800E68C0C /* Foundation.framework in Frameworks */, + CD5B79E41766B9B800E68C0C /* CoreGraphics.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + CD5B79D31766B9B800E68C0C = { + isa = PBXGroup; + children = ( + CD5B79E51766B9B800E68C0C /* Drawing */, + CD5B79DE1766B9B800E68C0C /* Frameworks */, + CD5B79DD1766B9B800E68C0C /* Products */, + ); + sourceTree = ""; + }; + CD5B79DD1766B9B800E68C0C /* Products */ = { + isa = PBXGroup; + children = ( + CD5B79DC1766B9B800E68C0C /* Drawing.app */, + ); + name = Products; + sourceTree = ""; + }; + CD5B79DE1766B9B800E68C0C /* Frameworks */ = { + isa = PBXGroup; + children = ( + CD5B79DF1766B9B800E68C0C /* UIKit.framework */, + CD5B79E11766B9B800E68C0C /* Foundation.framework */, + CD5B79E31766B9B800E68C0C /* CoreGraphics.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + CD5B79E51766B9B800E68C0C /* Drawing */ = { + isa = PBXGroup; + children = ( + CD5B79EE1766B9B800E68C0C /* AppDelegate.h */, + CD5B79EF1766B9B800E68C0C /* AppDelegate.m */, + CD5B79F71766B9B800E68C0C /* ViewController.h */, + CD5B79F81766B9B800E68C0C /* ViewController.m */, + CD5B79FA1766B9B800E68C0C /* ViewController.xib */, + CD5B7A021766BA0C00E68C0C /* DrawingView.h */, + CD5B7A031766BA0C00E68C0C /* DrawingView.m */, + CD5B79E61766B9B800E68C0C /* Supporting Files */, + ); + path = Drawing; + sourceTree = ""; + }; + CD5B79E61766B9B800E68C0C /* Supporting Files */ = { + isa = PBXGroup; + children = ( + CD5B79E71766B9B800E68C0C /* Drawing-Info.plist */, + CD5B79E81766B9B800E68C0C /* InfoPlist.strings */, + CD5B79EB1766B9B800E68C0C /* main.m */, + CD5B79ED1766B9B800E68C0C /* Drawing-Prefix.pch */, + CD5B79F11766B9B800E68C0C /* Default.png */, + CD5B79F31766B9B800E68C0C /* Default@2x.png */, + CD5B79F51766B9B800E68C0C /* Default-568h@2x.png */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + CD5B79DB1766B9B800E68C0C /* Drawing */ = { + isa = PBXNativeTarget; + buildConfigurationList = CD5B79FF1766B9B800E68C0C /* Build configuration list for PBXNativeTarget "Drawing" */; + buildPhases = ( + CD5B79D81766B9B800E68C0C /* Sources */, + CD5B79D91766B9B800E68C0C /* Frameworks */, + CD5B79DA1766B9B800E68C0C /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Drawing; + productName = Drawing; + productReference = CD5B79DC1766B9B800E68C0C /* Drawing.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + CD5B79D41766B9B800E68C0C /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0460; + ORGANIZATIONNAME = "mo khan"; + }; + buildConfigurationList = CD5B79D71766B9B800E68C0C /* Build configuration list for PBXProject "Drawing" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = CD5B79D31766B9B800E68C0C; + productRefGroup = CD5B79DD1766B9B800E68C0C /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CD5B79DB1766B9B800E68C0C /* Drawing */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + CD5B79DA1766B9B800E68C0C /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CD5B79EA1766B9B800E68C0C /* InfoPlist.strings in Resources */, + CD5B79F21766B9B800E68C0C /* Default.png in Resources */, + CD5B79F41766B9B800E68C0C /* Default@2x.png in Resources */, + CD5B79F61766B9B800E68C0C /* Default-568h@2x.png in Resources */, + CD5B79FC1766B9B800E68C0C /* ViewController.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + CD5B79D81766B9B800E68C0C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CD5B79EC1766B9B800E68C0C /* main.m in Sources */, + CD5B79F01766B9B800E68C0C /* AppDelegate.m in Sources */, + CD5B79F91766B9B800E68C0C /* ViewController.m in Sources */, + CD5B7A041766BA0C00E68C0C /* DrawingView.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + CD5B79E81766B9B800E68C0C /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + CD5B79E91766B9B800E68C0C /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + CD5B79FA1766B9B800E68C0C /* ViewController.xib */ = { + isa = PBXVariantGroup; + children = ( + CD5B79FB1766B9B800E68C0C /* en */, + ); + name = ViewController.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + CD5B79FD1766B9B800E68C0C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + 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_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + CD5B79FE1766B9B800E68C0C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + CD5B7A001766B9B800E68C0C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Drawing/Drawing-Prefix.pch"; + INFOPLIST_FILE = "Drawing/Drawing-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + CD5B7A011766B9B800E68C0C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Drawing/Drawing-Prefix.pch"; + INFOPLIST_FILE = "Drawing/Drawing-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + CD5B79D71766B9B800E68C0C /* Build configuration list for PBXProject "Drawing" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CD5B79FD1766B9B800E68C0C /* Debug */, + CD5B79FE1766B9B800E68C0C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CD5B79FF1766B9B800E68C0C /* Build configuration list for PBXNativeTarget "Drawing" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CD5B7A001766B9B800E68C0C /* Debug */, + CD5B7A011766B9B800E68C0C /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = CD5B79D41766B9B800E68C0C /* Project object */; +} diff --git a/Drawing/Drawing.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Drawing/Drawing.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..b6bf292 --- /dev/null +++ b/Drawing/Drawing.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Drawing/Drawing.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate b/Drawing/Drawing.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..e5e6f19 Binary files /dev/null and b/Drawing/Drawing.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Drawing/Drawing.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Drawing.xcscheme b/Drawing/Drawing.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Drawing.xcscheme new file mode 100644 index 0000000..c94e27b --- /dev/null +++ b/Drawing/Drawing.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Drawing.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Drawing/Drawing.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist b/Drawing/Drawing.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..798f651 --- /dev/null +++ b/Drawing/Drawing.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Drawing.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + CD5B79DB1766B9B800E68C0C + + primary + + + + + diff --git a/Drawing/Drawing/AppDelegate.h b/Drawing/Drawing/AppDelegate.h new file mode 100644 index 0000000..d1792a6 --- /dev/null +++ b/Drawing/Drawing/AppDelegate.h @@ -0,0 +1,19 @@ +// +// AppDelegate.h +// Drawing +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@class ViewController; + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@property (strong, nonatomic) ViewController *viewController; + +@end diff --git a/Drawing/Drawing/AppDelegate.m b/Drawing/Drawing/AppDelegate.m new file mode 100644 index 0000000..7634347 --- /dev/null +++ b/Drawing/Drawing/AppDelegate.m @@ -0,0 +1,52 @@ +// +// AppDelegate.m +// Drawing +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "AppDelegate.h" + +#import "ViewController.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + // Override point for customization after application launch. + self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; + self.window.rootViewController = self.viewController; + [self.window makeKeyAndVisible]; + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + +@end diff --git a/Drawing/Drawing/Default-568h@2x.png b/Drawing/Drawing/Default-568h@2x.png new file mode 100644 index 0000000..0891b7a Binary files /dev/null and b/Drawing/Drawing/Default-568h@2x.png differ diff --git a/Drawing/Drawing/Default.png b/Drawing/Drawing/Default.png new file mode 100644 index 0000000..4c8ca6f Binary files /dev/null and b/Drawing/Drawing/Default.png differ diff --git a/Drawing/Drawing/Default@2x.png b/Drawing/Drawing/Default@2x.png new file mode 100644 index 0000000..35b84cf Binary files /dev/null and b/Drawing/Drawing/Default@2x.png differ diff --git a/Drawing/Drawing/Drawing-Info.plist b/Drawing/Drawing/Drawing-Info.plist new file mode 100644 index 0000000..72d55a8 --- /dev/null +++ b/Drawing/Drawing/Drawing-Info.plist @@ -0,0 +1,38 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + mokhan.ca.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Drawing/Drawing/Drawing-Prefix.pch b/Drawing/Drawing/Drawing-Prefix.pch new file mode 100644 index 0000000..1389588 --- /dev/null +++ b/Drawing/Drawing/Drawing-Prefix.pch @@ -0,0 +1,14 @@ +// +// Prefix header for all source files of the 'Drawing' target in the 'Drawing' project +// + +#import + +#ifndef __IPHONE_4_0 +#warning "This project uses features only available in iOS SDK 4.0 and later." +#endif + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/Drawing/Drawing/DrawingView.h b/Drawing/Drawing/DrawingView.h new file mode 100644 index 0000000..58e690f --- /dev/null +++ b/Drawing/Drawing/DrawingView.h @@ -0,0 +1,13 @@ +// +// DrawingView.h +// Drawing +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface DrawingView : UIView + +@end diff --git a/Drawing/Drawing/DrawingView.m b/Drawing/Drawing/DrawingView.m new file mode 100644 index 0000000..3709593 --- /dev/null +++ b/Drawing/Drawing/DrawingView.m @@ -0,0 +1,65 @@ +// +// DrawingView.m +// Drawing +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "DrawingView.h" + +@implementation DrawingView + +- (id)initWithFrame:(CGRect)frame +{ + self = [super initWithFrame:frame]; + if (self) { + // Initialization code + } + return self; +} + + +// Only override drawRect: if you perform custom drawing. +// An empty implementation adversely affects performance during animation. +- (void)drawRect:(CGRect)rect +{ + // Drawing code + CGRect bounds = [self bounds]; + [[UIColor blackColor] set]; + UIRectFill(bounds); + + +// CGRect square = CGRectMake(50, 50, 100, 100); +// [[UIColor redColor] set]; +// UIRectFill(square); +// [[UIColor blackColor] set]; +// UIRectFrame(square); + + + CGContextRef context = UIGraphicsGetCurrentContext(); + CGContextBeginPath(context); + CGContextMoveToPoint(context, 200, 50); +// CGContextAddLineToPoint(context, 175, 125); +// CGContextAddArcToPoint(context, 150, 225, 225, 325, 100); +// CGContextAddCurveToPoint(context, 50, 50, 50, 300, 175, 375); + +// CGContextAddLineToPoint(context, 300, 375); +// CGContextAddCurveToPoint(context, 300, 400, 300, 25, 200, 50); +// CGContextClosePath(context); +// [[UIColor whiteColor] setFill]; + +// [[UIColor redColor] setStroke]; +// CGContextSetLineWidth(context, 5); + + CGContextDrawPath(context, kCGPathFillStroke); +// CGContextDrawPath(context, kCGPathFillStroke); + + + CGRect squareForCircle = CGRectMake(50, 300, 100, 100); + CGContextAddEllipseInRect(context, squareForCircle); + [[UIColor blueColor] set]; + CGContextDrawPath(context, kCGPathFill); +} + +@end diff --git a/Drawing/Drawing/ViewController.h b/Drawing/Drawing/ViewController.h new file mode 100644 index 0000000..7c22275 --- /dev/null +++ b/Drawing/Drawing/ViewController.h @@ -0,0 +1,13 @@ +// +// ViewController.h +// Drawing +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface ViewController : UIViewController + +@end diff --git a/Drawing/Drawing/ViewController.m b/Drawing/Drawing/ViewController.m new file mode 100644 index 0000000..7f3f835 --- /dev/null +++ b/Drawing/Drawing/ViewController.m @@ -0,0 +1,29 @@ +// +// ViewController.m +// Drawing +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "ViewController.h" + +@interface ViewController () + +@end + +@implementation ViewController + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/Drawing/Drawing/en.lproj/InfoPlist.strings b/Drawing/Drawing/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/Drawing/Drawing/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/Drawing/Drawing/en.lproj/ViewController.xib b/Drawing/Drawing/en.lproj/ViewController.xib new file mode 100644 index 0000000..62dcaf4 --- /dev/null +++ b/Drawing/Drawing/en.lproj/ViewController.xib @@ -0,0 +1,277 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 3084 + + + IBNSLayoutConstraint + IBProxyObject + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + + + + 274 + {320, 548} + + + + _NS:9 + + 3 + MQA + + 2 + + + IBCocoaTouchFramework + + + {{0, 20}, {320, 548}} + + + + + 3 + MC43NQA + + + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + + + + + + + view + + + + 7 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 6 + + + + + + 4 + 0 + + 4 + 1 + + 0.0 + + 1000 + + 8 + 29 + 3 + + + + 6 + 0 + + 6 + 1 + + 0.0 + + 1000 + + 8 + 29 + 3 + + + + 3 + 0 + + 3 + 1 + + 0.0 + + 1000 + + 8 + 29 + 3 + + + + 5 + 0 + + 5 + 1 + + 0.0 + + 1000 + + 8 + 29 + 3 + + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + + + ViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + DrawingView + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 12 + + + + + DrawingView + UIView + + IBProjectSource + ./Classes/DrawingView.h + + + + NSLayoutConstraint + NSObject + + IBProjectSource + ./Classes/NSLayoutConstraint.h + + + + ViewController + UIViewController + + IBProjectSource + ./Classes/ViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/Drawing/Drawing/main.m b/Drawing/Drawing/main.m new file mode 100644 index 0000000..27b002e --- /dev/null +++ b/Drawing/Drawing/main.m @@ -0,0 +1,18 @@ +// +// main.m +// Drawing +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. 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/Gestures/Gestures.xcodeproj/project.pbxproj b/Gestures/Gestures.xcodeproj/project.pbxproj new file mode 100644 index 0000000..e20dcc9 --- /dev/null +++ b/Gestures/Gestures.xcodeproj/project.pbxproj @@ -0,0 +1,305 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + CD459B5C1766C18000288A26 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD459B5B1766C18000288A26 /* UIKit.framework */; }; + CD459B5E1766C18000288A26 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD459B5D1766C18000288A26 /* Foundation.framework */; }; + CD459B601766C18000288A26 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD459B5F1766C18000288A26 /* CoreGraphics.framework */; }; + CD459B661766C18000288A26 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = CD459B641766C18000288A26 /* InfoPlist.strings */; }; + CD459B681766C18000288A26 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CD459B671766C18000288A26 /* main.m */; }; + CD459B6C1766C18000288A26 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CD459B6B1766C18000288A26 /* AppDelegate.m */; }; + CD459B6E1766C18000288A26 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = CD459B6D1766C18000288A26 /* Default.png */; }; + CD459B701766C18000288A26 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD459B6F1766C18000288A26 /* Default@2x.png */; }; + CD459B721766C18000288A26 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD459B711766C18000288A26 /* Default-568h@2x.png */; }; + CD459B751766C18000288A26 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD459B741766C18000288A26 /* ViewController.m */; }; + CD459B781766C18000288A26 /* ViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD459B761766C18000288A26 /* ViewController.xib */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + CD459B581766C18000288A26 /* Gestures.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Gestures.app; sourceTree = BUILT_PRODUCTS_DIR; }; + CD459B5B1766C18000288A26 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + CD459B5D1766C18000288A26 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + CD459B5F1766C18000288A26 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + CD459B631766C18000288A26 /* Gestures-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Gestures-Info.plist"; sourceTree = ""; }; + CD459B651766C18000288A26 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + CD459B671766C18000288A26 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + CD459B691766C18000288A26 /* Gestures-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Gestures-Prefix.pch"; sourceTree = ""; }; + CD459B6A1766C18000288A26 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + CD459B6B1766C18000288A26 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + CD459B6D1766C18000288A26 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; + CD459B6F1766C18000288A26 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; + CD459B711766C18000288A26 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; + CD459B731766C18000288A26 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + CD459B741766C18000288A26 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + CD459B771766C18000288A26 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController.xib; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + CD459B551766C18000288A26 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CD459B5C1766C18000288A26 /* UIKit.framework in Frameworks */, + CD459B5E1766C18000288A26 /* Foundation.framework in Frameworks */, + CD459B601766C18000288A26 /* CoreGraphics.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + CD459B4F1766C18000288A26 = { + isa = PBXGroup; + children = ( + CD459B611766C18000288A26 /* Gestures */, + CD459B5A1766C18000288A26 /* Frameworks */, + CD459B591766C18000288A26 /* Products */, + ); + sourceTree = ""; + }; + CD459B591766C18000288A26 /* Products */ = { + isa = PBXGroup; + children = ( + CD459B581766C18000288A26 /* Gestures.app */, + ); + name = Products; + sourceTree = ""; + }; + CD459B5A1766C18000288A26 /* Frameworks */ = { + isa = PBXGroup; + children = ( + CD459B5B1766C18000288A26 /* UIKit.framework */, + CD459B5D1766C18000288A26 /* Foundation.framework */, + CD459B5F1766C18000288A26 /* CoreGraphics.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + CD459B611766C18000288A26 /* Gestures */ = { + isa = PBXGroup; + children = ( + CD459B6A1766C18000288A26 /* AppDelegate.h */, + CD459B6B1766C18000288A26 /* AppDelegate.m */, + CD459B731766C18000288A26 /* ViewController.h */, + CD459B741766C18000288A26 /* ViewController.m */, + CD459B761766C18000288A26 /* ViewController.xib */, + CD459B621766C18000288A26 /* Supporting Files */, + ); + path = Gestures; + sourceTree = ""; + }; + CD459B621766C18000288A26 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + CD459B631766C18000288A26 /* Gestures-Info.plist */, + CD459B641766C18000288A26 /* InfoPlist.strings */, + CD459B671766C18000288A26 /* main.m */, + CD459B691766C18000288A26 /* Gestures-Prefix.pch */, + CD459B6D1766C18000288A26 /* Default.png */, + CD459B6F1766C18000288A26 /* Default@2x.png */, + CD459B711766C18000288A26 /* Default-568h@2x.png */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + CD459B571766C18000288A26 /* Gestures */ = { + isa = PBXNativeTarget; + buildConfigurationList = CD459B7B1766C18000288A26 /* Build configuration list for PBXNativeTarget "Gestures" */; + buildPhases = ( + CD459B541766C18000288A26 /* Sources */, + CD459B551766C18000288A26 /* Frameworks */, + CD459B561766C18000288A26 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Gestures; + productName = Gestures; + productReference = CD459B581766C18000288A26 /* Gestures.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + CD459B501766C18000288A26 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0460; + ORGANIZATIONNAME = "mo khan"; + }; + buildConfigurationList = CD459B531766C18000288A26 /* Build configuration list for PBXProject "Gestures" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = CD459B4F1766C18000288A26; + productRefGroup = CD459B591766C18000288A26 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CD459B571766C18000288A26 /* Gestures */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + CD459B561766C18000288A26 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CD459B661766C18000288A26 /* InfoPlist.strings in Resources */, + CD459B6E1766C18000288A26 /* Default.png in Resources */, + CD459B701766C18000288A26 /* Default@2x.png in Resources */, + CD459B721766C18000288A26 /* Default-568h@2x.png in Resources */, + CD459B781766C18000288A26 /* ViewController.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + CD459B541766C18000288A26 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CD459B681766C18000288A26 /* main.m in Sources */, + CD459B6C1766C18000288A26 /* AppDelegate.m in Sources */, + CD459B751766C18000288A26 /* ViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + CD459B641766C18000288A26 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + CD459B651766C18000288A26 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + CD459B761766C18000288A26 /* ViewController.xib */ = { + isa = PBXVariantGroup; + children = ( + CD459B771766C18000288A26 /* en */, + ); + name = ViewController.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + CD459B791766C18000288A26 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + 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_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + CD459B7A1766C18000288A26 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + CD459B7C1766C18000288A26 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Gestures/Gestures-Prefix.pch"; + INFOPLIST_FILE = "Gestures/Gestures-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + CD459B7D1766C18000288A26 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Gestures/Gestures-Prefix.pch"; + INFOPLIST_FILE = "Gestures/Gestures-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + CD459B531766C18000288A26 /* Build configuration list for PBXProject "Gestures" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CD459B791766C18000288A26 /* Debug */, + CD459B7A1766C18000288A26 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CD459B7B1766C18000288A26 /* Build configuration list for PBXNativeTarget "Gestures" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CD459B7C1766C18000288A26 /* Debug */, + CD459B7D1766C18000288A26 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = CD459B501766C18000288A26 /* Project object */; +} diff --git a/Gestures/Gestures.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Gestures/Gestures.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..db246b3 --- /dev/null +++ b/Gestures/Gestures.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Gestures/Gestures.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate b/Gestures/Gestures.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..142dd20 Binary files /dev/null and b/Gestures/Gestures.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Gestures/Gestures.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Gestures.xcscheme b/Gestures/Gestures.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Gestures.xcscheme new file mode 100644 index 0000000..6c05936 --- /dev/null +++ b/Gestures/Gestures.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Gestures.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Gestures/Gestures.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist b/Gestures/Gestures.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..ae98d88 --- /dev/null +++ b/Gestures/Gestures.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Gestures.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + CD459B571766C18000288A26 + + primary + + + + + diff --git a/Gestures/Gestures/AppDelegate.h b/Gestures/Gestures/AppDelegate.h new file mode 100644 index 0000000..eeef9b1 --- /dev/null +++ b/Gestures/Gestures/AppDelegate.h @@ -0,0 +1,19 @@ +// +// AppDelegate.h +// Gestures +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@class ViewController; + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@property (strong, nonatomic) ViewController *viewController; + +@end diff --git a/Gestures/Gestures/AppDelegate.m b/Gestures/Gestures/AppDelegate.m new file mode 100644 index 0000000..334eee8 --- /dev/null +++ b/Gestures/Gestures/AppDelegate.m @@ -0,0 +1,52 @@ +// +// AppDelegate.m +// Gestures +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "AppDelegate.h" + +#import "ViewController.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + // Override point for customization after application launch. + self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; + self.window.rootViewController = self.viewController; + [self.window makeKeyAndVisible]; + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + +@end diff --git a/Gestures/Gestures/Default-568h@2x.png b/Gestures/Gestures/Default-568h@2x.png new file mode 100644 index 0000000..0891b7a Binary files /dev/null and b/Gestures/Gestures/Default-568h@2x.png differ diff --git a/Gestures/Gestures/Default.png b/Gestures/Gestures/Default.png new file mode 100644 index 0000000..4c8ca6f Binary files /dev/null and b/Gestures/Gestures/Default.png differ diff --git a/Gestures/Gestures/Default@2x.png b/Gestures/Gestures/Default@2x.png new file mode 100644 index 0000000..35b84cf Binary files /dev/null and b/Gestures/Gestures/Default@2x.png differ diff --git a/Gestures/Gestures/Gestures-Info.plist b/Gestures/Gestures/Gestures-Info.plist new file mode 100644 index 0000000..72d55a8 --- /dev/null +++ b/Gestures/Gestures/Gestures-Info.plist @@ -0,0 +1,38 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + mokhan.ca.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Gestures/Gestures/Gestures-Prefix.pch b/Gestures/Gestures/Gestures-Prefix.pch new file mode 100644 index 0000000..0a69ba1 --- /dev/null +++ b/Gestures/Gestures/Gestures-Prefix.pch @@ -0,0 +1,14 @@ +// +// Prefix header for all source files of the 'Gestures' target in the 'Gestures' project +// + +#import + +#ifndef __IPHONE_4_0 +#warning "This project uses features only available in iOS SDK 4.0 and later." +#endif + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/Gestures/Gestures/ViewController.h b/Gestures/Gestures/ViewController.h new file mode 100644 index 0000000..484043d --- /dev/null +++ b/Gestures/Gestures/ViewController.h @@ -0,0 +1,13 @@ +// +// ViewController.h +// Gestures +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface ViewController : UIViewController +@property (strong, nonatomic) IBOutlet UIView * myView; +@end diff --git a/Gestures/Gestures/ViewController.m b/Gestures/Gestures/ViewController.m new file mode 100644 index 0000000..037d3cf --- /dev/null +++ b/Gestures/Gestures/ViewController.m @@ -0,0 +1,93 @@ +// +// ViewController.m +// Gestures +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "ViewController.h" + +@interface ViewController () + +@end + +@implementation ViewController + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. + UITapGestureRecognizer * tapper = [[UITapGestureRecognizer alloc] + initWithTarget:self action:@selector(tapped:)]; + [self.myView addGestureRecognizer:tapper]; + + UILongPressGestureRecognizer * longPress = [[UILongPressGestureRecognizer + alloc] initWithTarget:self action:@selector(longPressed:)]; + longPress.minimumPressDuration = 1; + [self.myView addGestureRecognizer:longPress]; + + UIPinchGestureRecognizer * pinch = [[UIPinchGestureRecognizer alloc] + initWithTarget:self action:@selector(pinching:)]; + [self.myView addGestureRecognizer:pinch]; + + UISwipeGestureRecognizer * swipeUp = [[UISwipeGestureRecognizer alloc] + initWithTarget:self action:@selector(swipedUp:)]; + swipeUp.direction = UISwipeGestureRecognizerDirectionUp; + [self.myView addGestureRecognizer:swipeUp]; + + UIRotationGestureRecognizer * rotate = [[UIRotationGestureRecognizer + alloc] initWithTarget:self action:@selector(rotating:)]; + [self.myView addGestureRecognizer:rotate]; + + UIPanGestureRecognizer * pan = [[UIPanGestureRecognizer alloc] + initWithTarget:self action:@selector(panning:)]; + [pan setMaximumNumberOfTouches:2]; + [pan setMinimumNumberOfTouches:2]; + + [self.myView addGestureRecognizer:pan]; +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +-(void) tapped:(UIGestureRecognizer *) sender +{ + self.myView.backgroundColor = [UIColor redColor]; +} + +-(void) longPressed:(UIGestureRecognizer *) sender +{ + self.myView.backgroundColor = [UIColor blackColor]; +} + +-(void) pinching:(UIPinchGestureRecognizer *) sender +{ + CGAffineTransform theTransformation = + CGAffineTransformMakeScale(sender.scale, sender.scale); + sender.view.transform = theTransformation; +} + +-(void) swipedUp:(UISwipeGestureRecognizer *) sender +{ + self.myView.backgroundColor = [UIColor orangeColor]; +} + +-(void) rotating:(UIRotationGestureRecognizer *) sender +{ + CGAffineTransform theTransformation = + CGAffineTransformMakeRotation(sender.rotation); + sender.view.transform = theTransformation; +} + +- (void) panning:(UIPanGestureRecognizer *) sender +{ + CGPoint newPoint = [sender translationInView:sender.view]; + [sender setTranslation:CGPointZero inView:sender.view]; + self.myView.center = CGPointMake(self.myView.center.x + newPoint.x,self.myView.center.y + newPoint.y); +} + +@end diff --git a/Gestures/Gestures/en.lproj/InfoPlist.strings b/Gestures/Gestures/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/Gestures/Gestures/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/Gestures/Gestures/en.lproj/ViewController.xib b/Gestures/Gestures/en.lproj/ViewController.xib new file mode 100644 index 0000000..decf726 --- /dev/null +++ b/Gestures/Gestures/en.lproj/ViewController.xib @@ -0,0 +1,282 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 3084 + + + IBNSLayoutConstraint + IBProxyObject + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + + + + 274 + {{85, 199}, {150, 150}} + + + _NS:9 + + 3 + MAA + + IBCocoaTouchFramework + + + {{0, 20}, {320, 548}} + + + + + 1 + MSAxIDEAA + + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + + + + + + + view + + + + 7 + + + + myView + + + + 22 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 6 + + + + + 10 + 0 + + 10 + 1 + + 0.0 + + 1000 + + 5 + 22 + 2 + + + + 3 + 0 + + 3 + 1 + + 199 + + 1000 + + 3 + 9 + 3 + + + + 9 + 0 + + 9 + 1 + + 0.0 + + 1000 + + 5 + 22 + 2 + + + + 5 + 0 + + 5 + 1 + + 85 + + 1000 + + 3 + 9 + 3 + + + + + + + 8 + + + + + 17 + + + + + 18 + + + + + 20 + + + + + 21 + + + + + + + ViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + 22 + + + + + NSLayoutConstraint + NSObject + + IBProjectSource + ./Classes/NSLayoutConstraint.h + + + + ViewController + UIViewController + + myView + UIView + + + myView + + myView + UIView + + + + IBProjectSource + ./Classes/ViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/Gestures/Gestures/main.m b/Gestures/Gestures/main.m new file mode 100644 index 0000000..789666f --- /dev/null +++ b/Gestures/Gestures/main.m @@ -0,0 +1,18 @@ +// +// main.m +// Gestures +// +// Created by mo khan on 2013-06-10. +// Copyright (c) 2013 mo khan. 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/KVO/KVO.xcodeproj/project.pbxproj b/KVO/KVO.xcodeproj/project.pbxproj new file mode 100644 index 0000000..5349dfa --- /dev/null +++ b/KVO/KVO.xcodeproj/project.pbxproj @@ -0,0 +1,478 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + CDFBFC1F175EBDF7000A0768 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDFBFC1E175EBDF7000A0768 /* UIKit.framework */; }; + CDFBFC21175EBDF7000A0768 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDFBFC20175EBDF7000A0768 /* Foundation.framework */; }; + CDFBFC23175EBDF7000A0768 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDFBFC22175EBDF7000A0768 /* CoreGraphics.framework */; }; + CDFBFC29175EBDF7000A0768 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = CDFBFC27175EBDF7000A0768 /* InfoPlist.strings */; }; + CDFBFC2B175EBDF7000A0768 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CDFBFC2A175EBDF7000A0768 /* main.m */; }; + CDFBFC2F175EBDF7000A0768 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CDFBFC2E175EBDF7000A0768 /* AppDelegate.m */; }; + CDFBFC31175EBDF7000A0768 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = CDFBFC30175EBDF7000A0768 /* Default.png */; }; + CDFBFC33175EBDF7000A0768 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CDFBFC32175EBDF7000A0768 /* Default@2x.png */; }; + CDFBFC35175EBDF7000A0768 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CDFBFC34175EBDF7000A0768 /* Default-568h@2x.png */; }; + CDFBFC38175EBDF7000A0768 /* FirstViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CDFBFC37175EBDF7000A0768 /* FirstViewController.m */; }; + CDFBFC3B175EBDF7000A0768 /* FirstViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CDFBFC39175EBDF7000A0768 /* FirstViewController.xib */; }; + CDFBFC43175EBDF7000A0768 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDFBFC42175EBDF7000A0768 /* SenTestingKit.framework */; }; + CDFBFC44175EBDF7000A0768 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDFBFC1E175EBDF7000A0768 /* UIKit.framework */; }; + CDFBFC45175EBDF7000A0768 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDFBFC20175EBDF7000A0768 /* Foundation.framework */; }; + CDFBFC4D175EBDF7000A0768 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = CDFBFC4B175EBDF7000A0768 /* InfoPlist.strings */; }; + CDFBFC50175EBDF7000A0768 /* KVOTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CDFBFC4F175EBDF7000A0768 /* KVOTests.m */; }; + CDFBFC5C175EBE54000A0768 /* SecondViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CDFBFC5A175EBE54000A0768 /* SecondViewController.m */; }; + CDFBFC5D175EBE54000A0768 /* SecondViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CDFBFC5B175EBE54000A0768 /* SecondViewController.xib */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + CDFBFC46175EBDF7000A0768 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = CDFBFC13175EBDF7000A0768 /* Project object */; + proxyType = 1; + remoteGlobalIDString = CDFBFC1A175EBDF7000A0768; + remoteInfo = KVO; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + CDFBFC1B175EBDF7000A0768 /* KVO.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = KVO.app; sourceTree = BUILT_PRODUCTS_DIR; }; + CDFBFC1E175EBDF7000A0768 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + CDFBFC20175EBDF7000A0768 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + CDFBFC22175EBDF7000A0768 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + CDFBFC26175EBDF7000A0768 /* KVO-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "KVO-Info.plist"; sourceTree = ""; }; + CDFBFC28175EBDF7000A0768 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + CDFBFC2A175EBDF7000A0768 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + CDFBFC2C175EBDF7000A0768 /* KVO-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "KVO-Prefix.pch"; sourceTree = ""; }; + CDFBFC2D175EBDF7000A0768 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + CDFBFC2E175EBDF7000A0768 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + CDFBFC30175EBDF7000A0768 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; + CDFBFC32175EBDF7000A0768 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; + CDFBFC34175EBDF7000A0768 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; + CDFBFC36175EBDF7000A0768 /* FirstViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FirstViewController.h; sourceTree = ""; }; + CDFBFC37175EBDF7000A0768 /* FirstViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FirstViewController.m; sourceTree = ""; }; + CDFBFC3A175EBDF7000A0768 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/FirstViewController.xib; sourceTree = ""; }; + CDFBFC41175EBDF7000A0768 /* KVOTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = KVOTests.octest; sourceTree = BUILT_PRODUCTS_DIR; }; + CDFBFC42175EBDF7000A0768 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; + CDFBFC4A175EBDF7000A0768 /* KVOTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "KVOTests-Info.plist"; sourceTree = ""; }; + CDFBFC4C175EBDF7000A0768 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + CDFBFC4E175EBDF7000A0768 /* KVOTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KVOTests.h; sourceTree = ""; }; + CDFBFC4F175EBDF7000A0768 /* KVOTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = KVOTests.m; sourceTree = ""; }; + CDFBFC59175EBE54000A0768 /* SecondViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SecondViewController.h; sourceTree = ""; }; + CDFBFC5A175EBE54000A0768 /* SecondViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SecondViewController.m; sourceTree = ""; }; + CDFBFC5B175EBE54000A0768 /* SecondViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SecondViewController.xib; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + CDFBFC18175EBDF7000A0768 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CDFBFC1F175EBDF7000A0768 /* UIKit.framework in Frameworks */, + CDFBFC21175EBDF7000A0768 /* Foundation.framework in Frameworks */, + CDFBFC23175EBDF7000A0768 /* CoreGraphics.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CDFBFC3D175EBDF7000A0768 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CDFBFC43175EBDF7000A0768 /* SenTestingKit.framework in Frameworks */, + CDFBFC44175EBDF7000A0768 /* UIKit.framework in Frameworks */, + CDFBFC45175EBDF7000A0768 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + CDFBFC12175EBDF7000A0768 = { + isa = PBXGroup; + children = ( + CDFBFC24175EBDF7000A0768 /* KVO */, + CDFBFC48175EBDF7000A0768 /* KVOTests */, + CDFBFC1D175EBDF7000A0768 /* Frameworks */, + CDFBFC1C175EBDF7000A0768 /* Products */, + ); + sourceTree = ""; + }; + CDFBFC1C175EBDF7000A0768 /* Products */ = { + isa = PBXGroup; + children = ( + CDFBFC1B175EBDF7000A0768 /* KVO.app */, + CDFBFC41175EBDF7000A0768 /* KVOTests.octest */, + ); + name = Products; + sourceTree = ""; + }; + CDFBFC1D175EBDF7000A0768 /* Frameworks */ = { + isa = PBXGroup; + children = ( + CDFBFC1E175EBDF7000A0768 /* UIKit.framework */, + CDFBFC20175EBDF7000A0768 /* Foundation.framework */, + CDFBFC22175EBDF7000A0768 /* CoreGraphics.framework */, + CDFBFC42175EBDF7000A0768 /* SenTestingKit.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + CDFBFC24175EBDF7000A0768 /* KVO */ = { + isa = PBXGroup; + children = ( + CDFBFC2D175EBDF7000A0768 /* AppDelegate.h */, + CDFBFC2E175EBDF7000A0768 /* AppDelegate.m */, + CDFBFC59175EBE54000A0768 /* SecondViewController.h */, + CDFBFC5A175EBE54000A0768 /* SecondViewController.m */, + CDFBFC5B175EBE54000A0768 /* SecondViewController.xib */, + CDFBFC36175EBDF7000A0768 /* FirstViewController.h */, + CDFBFC37175EBDF7000A0768 /* FirstViewController.m */, + CDFBFC39175EBDF7000A0768 /* FirstViewController.xib */, + CDFBFC25175EBDF7000A0768 /* Supporting Files */, + ); + path = KVO; + sourceTree = ""; + }; + CDFBFC25175EBDF7000A0768 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + CDFBFC26175EBDF7000A0768 /* KVO-Info.plist */, + CDFBFC27175EBDF7000A0768 /* InfoPlist.strings */, + CDFBFC2A175EBDF7000A0768 /* main.m */, + CDFBFC2C175EBDF7000A0768 /* KVO-Prefix.pch */, + CDFBFC30175EBDF7000A0768 /* Default.png */, + CDFBFC32175EBDF7000A0768 /* Default@2x.png */, + CDFBFC34175EBDF7000A0768 /* Default-568h@2x.png */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + CDFBFC48175EBDF7000A0768 /* KVOTests */ = { + isa = PBXGroup; + children = ( + CDFBFC4E175EBDF7000A0768 /* KVOTests.h */, + CDFBFC4F175EBDF7000A0768 /* KVOTests.m */, + CDFBFC49175EBDF7000A0768 /* Supporting Files */, + ); + path = KVOTests; + sourceTree = ""; + }; + CDFBFC49175EBDF7000A0768 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + CDFBFC4A175EBDF7000A0768 /* KVOTests-Info.plist */, + CDFBFC4B175EBDF7000A0768 /* InfoPlist.strings */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + CDFBFC1A175EBDF7000A0768 /* KVO */ = { + isa = PBXNativeTarget; + buildConfigurationList = CDFBFC53175EBDF7000A0768 /* Build configuration list for PBXNativeTarget "KVO" */; + buildPhases = ( + CDFBFC17175EBDF7000A0768 /* Sources */, + CDFBFC18175EBDF7000A0768 /* Frameworks */, + CDFBFC19175EBDF7000A0768 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = KVO; + productName = KVO; + productReference = CDFBFC1B175EBDF7000A0768 /* KVO.app */; + productType = "com.apple.product-type.application"; + }; + CDFBFC40175EBDF7000A0768 /* KVOTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = CDFBFC56175EBDF7000A0768 /* Build configuration list for PBXNativeTarget "KVOTests" */; + buildPhases = ( + CDFBFC3C175EBDF7000A0768 /* Sources */, + CDFBFC3D175EBDF7000A0768 /* Frameworks */, + CDFBFC3E175EBDF7000A0768 /* Resources */, + CDFBFC3F175EBDF7000A0768 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + CDFBFC47175EBDF7000A0768 /* PBXTargetDependency */, + ); + name = KVOTests; + productName = KVOTests; + productReference = CDFBFC41175EBDF7000A0768 /* KVOTests.octest */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + CDFBFC13175EBDF7000A0768 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0460; + ORGANIZATIONNAME = "mo khan"; + }; + buildConfigurationList = CDFBFC16175EBDF7000A0768 /* Build configuration list for PBXProject "KVO" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = CDFBFC12175EBDF7000A0768; + productRefGroup = CDFBFC1C175EBDF7000A0768 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CDFBFC1A175EBDF7000A0768 /* KVO */, + CDFBFC40175EBDF7000A0768 /* KVOTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + CDFBFC19175EBDF7000A0768 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CDFBFC29175EBDF7000A0768 /* InfoPlist.strings in Resources */, + CDFBFC31175EBDF7000A0768 /* Default.png in Resources */, + CDFBFC33175EBDF7000A0768 /* Default@2x.png in Resources */, + CDFBFC35175EBDF7000A0768 /* Default-568h@2x.png in Resources */, + CDFBFC3B175EBDF7000A0768 /* FirstViewController.xib in Resources */, + CDFBFC5D175EBE54000A0768 /* SecondViewController.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CDFBFC3E175EBDF7000A0768 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CDFBFC4D175EBDF7000A0768 /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + CDFBFC3F175EBDF7000A0768 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + CDFBFC17175EBDF7000A0768 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CDFBFC2B175EBDF7000A0768 /* main.m in Sources */, + CDFBFC2F175EBDF7000A0768 /* AppDelegate.m in Sources */, + CDFBFC38175EBDF7000A0768 /* FirstViewController.m in Sources */, + CDFBFC5C175EBE54000A0768 /* SecondViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CDFBFC3C175EBDF7000A0768 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CDFBFC50175EBDF7000A0768 /* KVOTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + CDFBFC47175EBDF7000A0768 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = CDFBFC1A175EBDF7000A0768 /* KVO */; + targetProxy = CDFBFC46175EBDF7000A0768 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + CDFBFC27175EBDF7000A0768 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + CDFBFC28175EBDF7000A0768 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + CDFBFC39175EBDF7000A0768 /* FirstViewController.xib */ = { + isa = PBXVariantGroup; + children = ( + CDFBFC3A175EBDF7000A0768 /* en */, + ); + name = FirstViewController.xib; + sourceTree = ""; + }; + CDFBFC4B175EBDF7000A0768 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + CDFBFC4C175EBDF7000A0768 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + CDFBFC51175EBDF7000A0768 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + 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_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + CDFBFC52175EBDF7000A0768 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + CDFBFC54175EBDF7000A0768 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "KVO/KVO-Prefix.pch"; + INFOPLIST_FILE = "KVO/KVO-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + CDFBFC55175EBDF7000A0768 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "KVO/KVO-Prefix.pch"; + INFOPLIST_FILE = "KVO/KVO-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; + CDFBFC57175EBDF7000A0768 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/KVO.app/KVO"; + FRAMEWORK_SEARCH_PATHS = ( + "\"$(SDKROOT)/Developer/Library/Frameworks\"", + "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "KVO/KVO-Prefix.pch"; + INFOPLIST_FILE = "KVOTests/KVOTests-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUNDLE_LOADER)"; + WRAPPER_EXTENSION = octest; + }; + name = Debug; + }; + CDFBFC58175EBDF7000A0768 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/KVO.app/KVO"; + FRAMEWORK_SEARCH_PATHS = ( + "\"$(SDKROOT)/Developer/Library/Frameworks\"", + "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "KVO/KVO-Prefix.pch"; + INFOPLIST_FILE = "KVOTests/KVOTests-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUNDLE_LOADER)"; + WRAPPER_EXTENSION = octest; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + CDFBFC16175EBDF7000A0768 /* Build configuration list for PBXProject "KVO" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CDFBFC51175EBDF7000A0768 /* Debug */, + CDFBFC52175EBDF7000A0768 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CDFBFC53175EBDF7000A0768 /* Build configuration list for PBXNativeTarget "KVO" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CDFBFC54175EBDF7000A0768 /* Debug */, + CDFBFC55175EBDF7000A0768 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + CDFBFC56175EBDF7000A0768 /* Build configuration list for PBXNativeTarget "KVOTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CDFBFC57175EBDF7000A0768 /* Debug */, + CDFBFC58175EBDF7000A0768 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = CDFBFC13175EBDF7000A0768 /* Project object */; +} diff --git a/KVO/KVO.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/KVO/KVO.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..47b4f6f --- /dev/null +++ b/KVO/KVO.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/KVO/KVO.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate b/KVO/KVO.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..36d302d Binary files /dev/null and b/KVO/KVO.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/KVO/KVO.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/WorkspaceSettings.xcsettings b/KVO/KVO.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..bfffcfe --- /dev/null +++ b/KVO/KVO.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,10 @@ + + + + + HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges + + SnapshotAutomaticallyBeforeSignificantChanges + + + diff --git a/KVO/KVO.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/KVO.xcscheme b/KVO/KVO.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/KVO.xcscheme new file mode 100644 index 0000000..feee3d9 --- /dev/null +++ b/KVO/KVO.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/KVO.xcscheme @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/KVO/KVO.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist b/KVO/KVO.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..53cdfed --- /dev/null +++ b/KVO/KVO.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,27 @@ + + + + + SchemeUserState + + KVO.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + CDFBFC1A175EBDF7000A0768 + + primary + + + CDFBFC40175EBDF7000A0768 + + primary + + + + + diff --git a/KVO/KVO/AppDelegate.h b/KVO/KVO/AppDelegate.h new file mode 100644 index 0000000..15d7946 --- /dev/null +++ b/KVO/KVO/AppDelegate.h @@ -0,0 +1,19 @@ +// +// AppDelegate.h +// KVO +// +// Created by mo khan on 2013-06-04. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@class FirstViewController; + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@property (strong, nonatomic) FirstViewController *viewController; + +@end diff --git a/KVO/KVO/AppDelegate.m b/KVO/KVO/AppDelegate.m new file mode 100644 index 0000000..eb8262e --- /dev/null +++ b/KVO/KVO/AppDelegate.m @@ -0,0 +1,52 @@ +// +// AppDelegate.m +// KVO +// +// Created by mo khan on 2013-06-04. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "AppDelegate.h" + +#import "FirstViewController.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + // Override point for customization after application launch. + self.viewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil]; + self.window.rootViewController = self.viewController; + [self.window makeKeyAndVisible]; + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + +@end diff --git a/KVO/KVO/Default-568h@2x.png b/KVO/KVO/Default-568h@2x.png new file mode 100644 index 0000000..0891b7a Binary files /dev/null and b/KVO/KVO/Default-568h@2x.png differ diff --git a/KVO/KVO/Default.png b/KVO/KVO/Default.png new file mode 100644 index 0000000..4c8ca6f Binary files /dev/null and b/KVO/KVO/Default.png differ diff --git a/KVO/KVO/Default@2x.png b/KVO/KVO/Default@2x.png new file mode 100644 index 0000000..35b84cf Binary files /dev/null and b/KVO/KVO/Default@2x.png differ diff --git a/KVO/KVO/FirstViewController.h b/KVO/KVO/FirstViewController.h new file mode 100644 index 0000000..21f79f4 --- /dev/null +++ b/KVO/KVO/FirstViewController.h @@ -0,0 +1,13 @@ +// +// ViewController.h +// KVO +// +// Created by mo khan on 2013-06-04. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface FirstViewController : UIViewController + +@end diff --git a/KVO/KVO/FirstViewController.m b/KVO/KVO/FirstViewController.m new file mode 100644 index 0000000..8c6f957 --- /dev/null +++ b/KVO/KVO/FirstViewController.m @@ -0,0 +1,29 @@ +// +// ViewController.m +// KVO +// +// Created by mo khan on 2013-06-04. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "FirstViewController.h" + +@interface FirstViewController () + +@end + +@implementation FirstViewController + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/KVO/KVO/KVO-Info.plist b/KVO/KVO/KVO-Info.plist new file mode 100644 index 0000000..72d55a8 --- /dev/null +++ b/KVO/KVO/KVO-Info.plist @@ -0,0 +1,38 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + mokhan.ca.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/KVO/KVO/KVO-Prefix.pch b/KVO/KVO/KVO-Prefix.pch new file mode 100644 index 0000000..b691afb --- /dev/null +++ b/KVO/KVO/KVO-Prefix.pch @@ -0,0 +1,14 @@ +// +// Prefix header for all source files of the 'KVO' target in the 'KVO' project +// + +#import + +#ifndef __IPHONE_4_0 +#warning "This project uses features only available in iOS SDK 4.0 and later." +#endif + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/KVO/KVO/SecondViewController.h b/KVO/KVO/SecondViewController.h new file mode 100644 index 0000000..044b6e6 --- /dev/null +++ b/KVO/KVO/SecondViewController.h @@ -0,0 +1,13 @@ +// +// SecondViewController.h +// KVO +// +// Created by mo khan on 2013-06-04. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface SecondViewController : UIViewController + +@end diff --git a/KVO/KVO/SecondViewController.m b/KVO/KVO/SecondViewController.m new file mode 100644 index 0000000..b6c728c --- /dev/null +++ b/KVO/KVO/SecondViewController.m @@ -0,0 +1,38 @@ +// +// SecondViewController.m +// KVO +// +// Created by mo khan on 2013-06-04. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "SecondViewController.h" + +@interface SecondViewController () + +@end + +@implementation SecondViewController + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + // Custom initialization + } + return self; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view from its nib. +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/KVO/KVO/SecondViewController.xib b/KVO/KVO/SecondViewController.xib new file mode 100644 index 0000000..822f0cf --- /dev/null +++ b/KVO/KVO/SecondViewController.xib @@ -0,0 +1,137 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + {{0, 20}, {320, 548}} + + + + + 3 + MQA + + 2 + + + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + + + + + + + view + + + + 3 + + + + + + 0 + + + + + + 1 + + + + + -1 + + + File's Owner + + + -2 + + + + + + + SecondViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 3 + + + + + SecondViewController + UIViewController + + IBProjectSource + ./Classes/SecondViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/KVO/KVO/en.lproj/FirstViewController.xib b/KVO/KVO/en.lproj/FirstViewController.xib new file mode 100644 index 0000000..604a705 --- /dev/null +++ b/KVO/KVO/en.lproj/FirstViewController.xib @@ -0,0 +1,124 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + {{0, 20}, {320, 548}} + + 3 + MC43NQA + + 2 + + + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + + + + + + + view + + + + 7 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 6 + + + + + + + FirstViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 7 + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/KVO/KVO/en.lproj/InfoPlist.strings b/KVO/KVO/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/KVO/KVO/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/KVO/KVO/main.m b/KVO/KVO/main.m new file mode 100644 index 0000000..43273df --- /dev/null +++ b/KVO/KVO/main.m @@ -0,0 +1,18 @@ +// +// main.m +// KVO +// +// Created by mo khan on 2013-06-04. +// Copyright (c) 2013 mo khan. 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/KVO/KVOTests/KVOTests-Info.plist b/KVO/KVOTests/KVOTests-Info.plist new file mode 100644 index 0000000..9ea836d --- /dev/null +++ b/KVO/KVOTests/KVOTests-Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + mokhan.ca.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/KVO/KVOTests/KVOTests.h b/KVO/KVOTests/KVOTests.h new file mode 100644 index 0000000..04d3449 --- /dev/null +++ b/KVO/KVOTests/KVOTests.h @@ -0,0 +1,13 @@ +// +// KVOTests.h +// KVOTests +// +// Created by mo khan on 2013-06-04. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface KVOTests : SenTestCase + +@end diff --git a/KVO/KVOTests/KVOTests.m b/KVO/KVOTests/KVOTests.m new file mode 100644 index 0000000..6ef0e59 --- /dev/null +++ b/KVO/KVOTests/KVOTests.m @@ -0,0 +1,32 @@ +// +// KVOTests.m +// KVOTests +// +// Created by mo khan on 2013-06-04. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "KVOTests.h" + +@implementation KVOTests + +- (void)setUp +{ + [super setUp]; + + // Set-up code here. +} + +- (void)tearDown +{ + // Tear-down code here. + + [super tearDown]; +} + +- (void)testExample +{ + STFail(@"Unit tests are not implemented yet in KVOTests"); +} + +@end diff --git a/KVO/KVOTests/en.lproj/InfoPlist.strings b/KVO/KVOTests/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/KVO/KVOTests/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/Modal/Modal.xcodeproj/project.pbxproj b/Modal/Modal.xcodeproj/project.pbxproj new file mode 100644 index 0000000..ea19ebc --- /dev/null +++ b/Modal/Modal.xcodeproj/project.pbxproj @@ -0,0 +1,315 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + CD1AEABC174EFB4C00F3AC0F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD1AEABB174EFB4C00F3AC0F /* UIKit.framework */; }; + CD1AEABE174EFB4C00F3AC0F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD1AEABD174EFB4C00F3AC0F /* Foundation.framework */; }; + CD1AEAC0174EFB4C00F3AC0F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD1AEABF174EFB4C00F3AC0F /* CoreGraphics.framework */; }; + CD1AEAC6174EFB4C00F3AC0F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEAC4174EFB4C00F3AC0F /* InfoPlist.strings */; }; + CD1AEAC8174EFB4C00F3AC0F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CD1AEAC7174EFB4C00F3AC0F /* main.m */; }; + CD1AEACC174EFB4C00F3AC0F /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CD1AEACB174EFB4C00F3AC0F /* AppDelegate.m */; }; + CD1AEACE174EFB4C00F3AC0F /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEACD174EFB4C00F3AC0F /* Default.png */; }; + CD1AEAD0174EFB4C00F3AC0F /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEACF174EFB4C00F3AC0F /* Default@2x.png */; }; + CD1AEAD2174EFB4C00F3AC0F /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEAD1174EFB4C00F3AC0F /* Default-568h@2x.png */; }; + CD1AEAD5174EFB4C00F3AC0F /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD1AEAD4174EFB4C00F3AC0F /* ViewController.m */; }; + CD1AEAD8174EFB4C00F3AC0F /* ViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEAD6174EFB4C00F3AC0F /* ViewController.xib */; }; + CD1AEAE1174EFBB300F3AC0F /* ModalViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD1AEADF174EFBB300F3AC0F /* ModalViewController.m */; }; + CD1AEAE2174EFBB300F3AC0F /* ModalViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEAE0174EFBB300F3AC0F /* ModalViewController.xib */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + CD1AEAB8174EFB4C00F3AC0F /* Modal.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Modal.app; sourceTree = BUILT_PRODUCTS_DIR; }; + CD1AEABB174EFB4C00F3AC0F /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + CD1AEABD174EFB4C00F3AC0F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + CD1AEABF174EFB4C00F3AC0F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + CD1AEAC3174EFB4C00F3AC0F /* Modal-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Modal-Info.plist"; sourceTree = ""; }; + CD1AEAC5174EFB4C00F3AC0F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + CD1AEAC7174EFB4C00F3AC0F /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + CD1AEAC9174EFB4C00F3AC0F /* Modal-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Modal-Prefix.pch"; sourceTree = ""; }; + CD1AEACA174EFB4C00F3AC0F /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + CD1AEACB174EFB4C00F3AC0F /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + CD1AEACD174EFB4C00F3AC0F /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; + CD1AEACF174EFB4C00F3AC0F /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; + CD1AEAD1174EFB4C00F3AC0F /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; + CD1AEAD3174EFB4C00F3AC0F /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + CD1AEAD4174EFB4C00F3AC0F /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + CD1AEAD7174EFB4C00F3AC0F /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController.xib; sourceTree = ""; }; + CD1AEADE174EFBB300F3AC0F /* ModalViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ModalViewController.h; sourceTree = ""; }; + CD1AEADF174EFBB300F3AC0F /* ModalViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ModalViewController.m; sourceTree = ""; }; + CD1AEAE0174EFBB300F3AC0F /* ModalViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ModalViewController.xib; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + CD1AEAB5174EFB4C00F3AC0F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CD1AEABC174EFB4C00F3AC0F /* UIKit.framework in Frameworks */, + CD1AEABE174EFB4C00F3AC0F /* Foundation.framework in Frameworks */, + CD1AEAC0174EFB4C00F3AC0F /* CoreGraphics.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + CD1AEAAF174EFB4C00F3AC0F = { + isa = PBXGroup; + children = ( + CD1AEAC1174EFB4C00F3AC0F /* Modal */, + CD1AEABA174EFB4C00F3AC0F /* Frameworks */, + CD1AEAB9174EFB4C00F3AC0F /* Products */, + ); + sourceTree = ""; + }; + CD1AEAB9174EFB4C00F3AC0F /* Products */ = { + isa = PBXGroup; + children = ( + CD1AEAB8174EFB4C00F3AC0F /* Modal.app */, + ); + name = Products; + sourceTree = ""; + }; + CD1AEABA174EFB4C00F3AC0F /* Frameworks */ = { + isa = PBXGroup; + children = ( + CD1AEABB174EFB4C00F3AC0F /* UIKit.framework */, + CD1AEABD174EFB4C00F3AC0F /* Foundation.framework */, + CD1AEABF174EFB4C00F3AC0F /* CoreGraphics.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + CD1AEAC1174EFB4C00F3AC0F /* Modal */ = { + isa = PBXGroup; + children = ( + CD1AEACA174EFB4C00F3AC0F /* AppDelegate.h */, + CD1AEACB174EFB4C00F3AC0F /* AppDelegate.m */, + CD1AEAD3174EFB4C00F3AC0F /* ViewController.h */, + CD1AEAD4174EFB4C00F3AC0F /* ViewController.m */, + CD1AEAD6174EFB4C00F3AC0F /* ViewController.xib */, + CD1AEADE174EFBB300F3AC0F /* ModalViewController.h */, + CD1AEADF174EFBB300F3AC0F /* ModalViewController.m */, + CD1AEAE0174EFBB300F3AC0F /* ModalViewController.xib */, + CD1AEAC2174EFB4C00F3AC0F /* Supporting Files */, + ); + path = Modal; + sourceTree = ""; + }; + CD1AEAC2174EFB4C00F3AC0F /* Supporting Files */ = { + isa = PBXGroup; + children = ( + CD1AEAC3174EFB4C00F3AC0F /* Modal-Info.plist */, + CD1AEAC4174EFB4C00F3AC0F /* InfoPlist.strings */, + CD1AEAC7174EFB4C00F3AC0F /* main.m */, + CD1AEAC9174EFB4C00F3AC0F /* Modal-Prefix.pch */, + CD1AEACD174EFB4C00F3AC0F /* Default.png */, + CD1AEACF174EFB4C00F3AC0F /* Default@2x.png */, + CD1AEAD1174EFB4C00F3AC0F /* Default-568h@2x.png */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + CD1AEAB7174EFB4C00F3AC0F /* Modal */ = { + isa = PBXNativeTarget; + buildConfigurationList = CD1AEADB174EFB4C00F3AC0F /* Build configuration list for PBXNativeTarget "Modal" */; + buildPhases = ( + CD1AEAB4174EFB4C00F3AC0F /* Sources */, + CD1AEAB5174EFB4C00F3AC0F /* Frameworks */, + CD1AEAB6174EFB4C00F3AC0F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Modal; + productName = Modal; + productReference = CD1AEAB8174EFB4C00F3AC0F /* Modal.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + CD1AEAB0174EFB4C00F3AC0F /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0460; + ORGANIZATIONNAME = "mo khan"; + }; + buildConfigurationList = CD1AEAB3174EFB4C00F3AC0F /* Build configuration list for PBXProject "Modal" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = CD1AEAAF174EFB4C00F3AC0F; + productRefGroup = CD1AEAB9174EFB4C00F3AC0F /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CD1AEAB7174EFB4C00F3AC0F /* Modal */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + CD1AEAB6174EFB4C00F3AC0F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CD1AEAC6174EFB4C00F3AC0F /* InfoPlist.strings in Resources */, + CD1AEACE174EFB4C00F3AC0F /* Default.png in Resources */, + CD1AEAD0174EFB4C00F3AC0F /* Default@2x.png in Resources */, + CD1AEAD2174EFB4C00F3AC0F /* Default-568h@2x.png in Resources */, + CD1AEAD8174EFB4C00F3AC0F /* ViewController.xib in Resources */, + CD1AEAE2174EFBB300F3AC0F /* ModalViewController.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + CD1AEAB4174EFB4C00F3AC0F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CD1AEAC8174EFB4C00F3AC0F /* main.m in Sources */, + CD1AEACC174EFB4C00F3AC0F /* AppDelegate.m in Sources */, + CD1AEAD5174EFB4C00F3AC0F /* ViewController.m in Sources */, + CD1AEAE1174EFBB300F3AC0F /* ModalViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + CD1AEAC4174EFB4C00F3AC0F /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + CD1AEAC5174EFB4C00F3AC0F /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + CD1AEAD6174EFB4C00F3AC0F /* ViewController.xib */ = { + isa = PBXVariantGroup; + children = ( + CD1AEAD7174EFB4C00F3AC0F /* en */, + ); + name = ViewController.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + CD1AEAD9174EFB4C00F3AC0F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + 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_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + CD1AEADA174EFB4C00F3AC0F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + CD1AEADC174EFB4C00F3AC0F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Modal/Modal-Prefix.pch"; + INFOPLIST_FILE = "Modal/Modal-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + CD1AEADD174EFB4C00F3AC0F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Modal/Modal-Prefix.pch"; + INFOPLIST_FILE = "Modal/Modal-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + CD1AEAB3174EFB4C00F3AC0F /* Build configuration list for PBXProject "Modal" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CD1AEAD9174EFB4C00F3AC0F /* Debug */, + CD1AEADA174EFB4C00F3AC0F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CD1AEADB174EFB4C00F3AC0F /* Build configuration list for PBXNativeTarget "Modal" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CD1AEADC174EFB4C00F3AC0F /* Debug */, + CD1AEADD174EFB4C00F3AC0F /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = CD1AEAB0174EFB4C00F3AC0F /* Project object */; +} diff --git a/Modal/Modal.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Modal/Modal.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..d59fcbf --- /dev/null +++ b/Modal/Modal.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Modal/Modal.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate b/Modal/Modal.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..de934b2 Binary files /dev/null and b/Modal/Modal.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Modal/Modal.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Modal.xcscheme b/Modal/Modal.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Modal.xcscheme new file mode 100644 index 0000000..5605f44 --- /dev/null +++ b/Modal/Modal.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Modal.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modal/Modal.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist b/Modal/Modal.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..e60b105 --- /dev/null +++ b/Modal/Modal.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Modal.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + CD1AEAB7174EFB4C00F3AC0F + + primary + + + + + diff --git a/Modal/Modal/AppDelegate.h b/Modal/Modal/AppDelegate.h new file mode 100644 index 0000000..ad8af10 --- /dev/null +++ b/Modal/Modal/AppDelegate.h @@ -0,0 +1,19 @@ +// +// AppDelegate.h +// Modal +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@class ViewController; + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@property (strong, nonatomic) ViewController *viewController; + +@end diff --git a/Modal/Modal/AppDelegate.m b/Modal/Modal/AppDelegate.m new file mode 100644 index 0000000..12caa48 --- /dev/null +++ b/Modal/Modal/AppDelegate.m @@ -0,0 +1,52 @@ +// +// AppDelegate.m +// Modal +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "AppDelegate.h" + +#import "ViewController.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + // Override point for customization after application launch. + self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; + self.window.rootViewController = self.viewController; + [self.window makeKeyAndVisible]; + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + +@end diff --git a/Modal/Modal/Default-568h@2x.png b/Modal/Modal/Default-568h@2x.png new file mode 100644 index 0000000..0891b7a Binary files /dev/null and b/Modal/Modal/Default-568h@2x.png differ diff --git a/Modal/Modal/Default.png b/Modal/Modal/Default.png new file mode 100644 index 0000000..4c8ca6f Binary files /dev/null and b/Modal/Modal/Default.png differ diff --git a/Modal/Modal/Default@2x.png b/Modal/Modal/Default@2x.png new file mode 100644 index 0000000..35b84cf Binary files /dev/null and b/Modal/Modal/Default@2x.png differ diff --git a/Modal/Modal/Modal-Info.plist b/Modal/Modal/Modal-Info.plist new file mode 100644 index 0000000..72d55a8 --- /dev/null +++ b/Modal/Modal/Modal-Info.plist @@ -0,0 +1,38 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + mokhan.ca.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Modal/Modal/Modal-Prefix.pch b/Modal/Modal/Modal-Prefix.pch new file mode 100644 index 0000000..d89e69d --- /dev/null +++ b/Modal/Modal/Modal-Prefix.pch @@ -0,0 +1,14 @@ +// +// Prefix header for all source files of the 'Modal' target in the 'Modal' project +// + +#import + +#ifndef __IPHONE_4_0 +#warning "This project uses features only available in iOS SDK 4.0 and later." +#endif + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/Modal/Modal/ModalViewController.h b/Modal/Modal/ModalViewController.h new file mode 100644 index 0000000..bf9cd7a --- /dev/null +++ b/Modal/Modal/ModalViewController.h @@ -0,0 +1,13 @@ +// +// ModalViewController.h +// Modal +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface ModalViewController : UIViewController +- (IBAction)removeModalView:(id)sender; +@end diff --git a/Modal/Modal/ModalViewController.m b/Modal/Modal/ModalViewController.m new file mode 100644 index 0000000..27ed31d --- /dev/null +++ b/Modal/Modal/ModalViewController.m @@ -0,0 +1,42 @@ +// +// ModalViewController.m +// Modal +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "ModalViewController.h" + +@interface ModalViewController () + +@end + +@implementation ModalViewController + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + // Custom initialization + } + return self; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view from its nib. +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +- (IBAction)removeModalView:(id)sender +{ + [self dismissViewControllerAnimated:YES completion:nil]; +} +@end diff --git a/Modal/Modal/ModalViewController.xib b/Modal/Modal/ModalViewController.xib new file mode 100644 index 0000000..f517188 --- /dev/null +++ b/Modal/Modal/ModalViewController.xib @@ -0,0 +1,265 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBNSLayoutConstraint + IBProxyObject + IBUIButton + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + + + + 292 + {{129, 436}, {62, 44}} + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 1 + Done + + 3 + MQA + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + + + {{0, 20}, {320, 548}} + + + + + 3 + MQA + + 2 + + + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + + + + IBCocoaTouchFramework + + + + + + + view + + + + 3 + + + + removeModalView: + + + 7 + + 10 + + + + + + 0 + + + + + + 1 + + + + + + 9 + 0 + + 9 + 1 + + 0.0 + + 1000 + + 5 + 22 + 2 + + + + 4 + 0 + + 4 + 1 + + 69 + + 1000 + + 3 + 9 + 3 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + + + ModalViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 10 + + + + + ModalViewController + UIViewController + + removeModalView: + id + + + removeModalView: + + removeModalView: + id + + + + IBProjectSource + ./Classes/ModalViewController.h + + + + NSLayoutConstraint + NSObject + + IBProjectSource + ./Classes/NSLayoutConstraint.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/Modal/Modal/ViewController.h b/Modal/Modal/ViewController.h new file mode 100644 index 0000000..47861a9 --- /dev/null +++ b/Modal/Modal/ViewController.h @@ -0,0 +1,14 @@ +// +// ViewController.h +// Modal +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface ViewController : UIViewController +-(IBAction)showModalView:(id)sender; + +@end diff --git a/Modal/Modal/ViewController.m b/Modal/Modal/ViewController.m new file mode 100644 index 0000000..8dd0335 --- /dev/null +++ b/Modal/Modal/ViewController.m @@ -0,0 +1,37 @@ +// +// ViewController.m +// Modal +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "ViewController.h" +#import "ModalViewController.h" + +@interface ViewController () + +@end + +@implementation ViewController + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +-(IBAction)showModalView:(id)sender +{ + ModalViewController * myModalVC = [[ModalViewController alloc] initWithNibName:@"ModalViewController" bundle:nil]; + myModalVC.modalTransitionStyle = UIModalTransitionStylePartialCurl; + [self presentViewController:myModalVC animated:YES completion:nil]; +} + +@end diff --git a/Modal/Modal/en.lproj/InfoPlist.strings b/Modal/Modal/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/Modal/Modal/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/Modal/Modal/en.lproj/ViewController.xib b/Modal/Modal/en.lproj/ViewController.xib new file mode 100644 index 0000000..1ca3e92 --- /dev/null +++ b/Modal/Modal/en.lproj/ViewController.xib @@ -0,0 +1,264 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBNSLayoutConstraint + IBProxyObject + IBUIButton + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + + + + 292 + {{124, 20}, {73, 44}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 1 + Button + + 3 + MQA + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + + + {{0, 20}, {320, 548}} + + + + + 3 + MC43NQA + + 2 + + + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + + + + + + + view + + + + 7 + + + + showModalView: + + + 7 + + 14 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 6 + + + + + + 9 + 0 + + 9 + 1 + + 0.0 + + 1000 + + 5 + 22 + 2 + + + + 3 + 0 + + 3 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + + + 11 + + + + + 12 + + + + + 13 + + + + + + + ViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + + + + 14 + + + + + NSLayoutConstraint + NSObject + + IBProjectSource + ./Classes/NSLayoutConstraint.h + + + + ViewController + UIViewController + + showModalView: + id + + + showModalView: + + showModalView: + id + + + + IBProjectSource + ./Classes/ViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/Modal/Modal/main.m b/Modal/Modal/main.m new file mode 100644 index 0000000..88fd1a6 --- /dev/null +++ b/Modal/Modal/main.m @@ -0,0 +1,18 @@ +// +// main.m +// Modal +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. 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/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/project.pbxproj b/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/project.pbxproj new file mode 100644 index 0000000..41173c8 --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/project.pbxproj @@ -0,0 +1,339 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + CD1AEA7C174EF0C500F3AC0F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD1AEA7B174EF0C500F3AC0F /* UIKit.framework */; }; + CD1AEA7E174EF0C500F3AC0F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD1AEA7D174EF0C500F3AC0F /* Foundation.framework */; }; + CD1AEA80174EF0C500F3AC0F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD1AEA7F174EF0C500F3AC0F /* CoreGraphics.framework */; }; + CD1AEA86174EF0C500F3AC0F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEA84174EF0C500F3AC0F /* InfoPlist.strings */; }; + CD1AEA88174EF0C500F3AC0F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CD1AEA87174EF0C500F3AC0F /* main.m */; }; + CD1AEA8C174EF0C500F3AC0F /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CD1AEA8B174EF0C500F3AC0F /* AppDelegate.m */; }; + CD1AEA8E174EF0C500F3AC0F /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEA8D174EF0C500F3AC0F /* Default.png */; }; + CD1AEA90174EF0C500F3AC0F /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEA8F174EF0C500F3AC0F /* Default@2x.png */; }; + CD1AEA92174EF0C500F3AC0F /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEA91174EF0C500F3AC0F /* Default-568h@2x.png */; }; + CD1AEA95174EF0C500F3AC0F /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEA93174EF0C500F3AC0F /* MainStoryboard.storyboard */; }; + CD1AEA98174EF0C500F3AC0F /* FirstViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD1AEA97174EF0C500F3AC0F /* FirstViewController.m */; }; + CD1AEAA0174EF24600F3AC0F /* SecondViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD1AEA9F174EF24600F3AC0F /* SecondViewController.m */; }; + CD1AEAA5174EF44400F3AC0F /* first.png in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEAA1174EF44400F3AC0F /* first.png */; }; + CD1AEAA6174EF44400F3AC0F /* first@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEAA2174EF44400F3AC0F /* first@2x.png */; }; + CD1AEAA7174EF44400F3AC0F /* second.png in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEAA3174EF44400F3AC0F /* second.png */; }; + CD1AEAA8174EF44400F3AC0F /* second@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEAA4174EF44400F3AC0F /* second@2x.png */; }; + CD1AEAAB174EF51600F3AC0F /* ThirdViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD1AEAAA174EF51600F3AC0F /* ThirdViewController.m */; }; + CD1AEAAE174EF85800F3AC0F /* FourthViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD1AEAAD174EF85800F3AC0F /* FourthViewController.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + CD1AEA78174EF0C500F3AC0F /* MultiViewStoryTabBar.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MultiViewStoryTabBar.app; sourceTree = BUILT_PRODUCTS_DIR; }; + CD1AEA7B174EF0C500F3AC0F /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + CD1AEA7D174EF0C500F3AC0F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + CD1AEA7F174EF0C500F3AC0F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + CD1AEA83174EF0C500F3AC0F /* MultiViewStoryTabBar-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MultiViewStoryTabBar-Info.plist"; sourceTree = ""; }; + CD1AEA85174EF0C500F3AC0F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + CD1AEA87174EF0C500F3AC0F /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + CD1AEA89174EF0C500F3AC0F /* MultiViewStoryTabBar-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MultiViewStoryTabBar-Prefix.pch"; sourceTree = ""; }; + CD1AEA8A174EF0C500F3AC0F /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + CD1AEA8B174EF0C500F3AC0F /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + CD1AEA8D174EF0C500F3AC0F /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; + CD1AEA8F174EF0C500F3AC0F /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; + CD1AEA91174EF0C500F3AC0F /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; + CD1AEA94174EF0C500F3AC0F /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard.storyboard; sourceTree = ""; }; + CD1AEA96174EF0C500F3AC0F /* FirstViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FirstViewController.h; sourceTree = ""; }; + CD1AEA97174EF0C500F3AC0F /* FirstViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FirstViewController.m; sourceTree = ""; }; + CD1AEA9E174EF24600F3AC0F /* SecondViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SecondViewController.h; sourceTree = ""; }; + CD1AEA9F174EF24600F3AC0F /* SecondViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SecondViewController.m; sourceTree = ""; }; + CD1AEAA1174EF44400F3AC0F /* first.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = first.png; sourceTree = ""; }; + CD1AEAA2174EF44400F3AC0F /* first@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "first@2x.png"; sourceTree = ""; }; + CD1AEAA3174EF44400F3AC0F /* second.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = second.png; sourceTree = ""; }; + CD1AEAA4174EF44400F3AC0F /* second@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "second@2x.png"; sourceTree = ""; }; + CD1AEAA9174EF51600F3AC0F /* ThirdViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThirdViewController.h; sourceTree = ""; }; + CD1AEAAA174EF51600F3AC0F /* ThirdViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ThirdViewController.m; sourceTree = ""; }; + CD1AEAAC174EF85800F3AC0F /* FourthViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FourthViewController.h; sourceTree = ""; }; + CD1AEAAD174EF85800F3AC0F /* FourthViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FourthViewController.m; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + CD1AEA75174EF0C500F3AC0F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CD1AEA7C174EF0C500F3AC0F /* UIKit.framework in Frameworks */, + CD1AEA7E174EF0C500F3AC0F /* Foundation.framework in Frameworks */, + CD1AEA80174EF0C500F3AC0F /* CoreGraphics.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + CD1AEA6F174EF0C500F3AC0F = { + isa = PBXGroup; + children = ( + CD1AEA81174EF0C500F3AC0F /* MultiViewStoryTabBar */, + CD1AEA7A174EF0C500F3AC0F /* Frameworks */, + CD1AEA79174EF0C500F3AC0F /* Products */, + ); + sourceTree = ""; + }; + CD1AEA79174EF0C500F3AC0F /* Products */ = { + isa = PBXGroup; + children = ( + CD1AEA78174EF0C500F3AC0F /* MultiViewStoryTabBar.app */, + ); + name = Products; + sourceTree = ""; + }; + CD1AEA7A174EF0C500F3AC0F /* Frameworks */ = { + isa = PBXGroup; + children = ( + CD1AEA7B174EF0C500F3AC0F /* UIKit.framework */, + CD1AEA7D174EF0C500F3AC0F /* Foundation.framework */, + CD1AEA7F174EF0C500F3AC0F /* CoreGraphics.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + CD1AEA81174EF0C500F3AC0F /* MultiViewStoryTabBar */ = { + isa = PBXGroup; + children = ( + CD1AEAA1174EF44400F3AC0F /* first.png */, + CD1AEAA2174EF44400F3AC0F /* first@2x.png */, + CD1AEAA3174EF44400F3AC0F /* second.png */, + CD1AEAA4174EF44400F3AC0F /* second@2x.png */, + CD1AEA8A174EF0C500F3AC0F /* AppDelegate.h */, + CD1AEA8B174EF0C500F3AC0F /* AppDelegate.m */, + CD1AEA93174EF0C500F3AC0F /* MainStoryboard.storyboard */, + CD1AEAAC174EF85800F3AC0F /* FourthViewController.h */, + CD1AEAAD174EF85800F3AC0F /* FourthViewController.m */, + CD1AEAA9174EF51600F3AC0F /* ThirdViewController.h */, + CD1AEAAA174EF51600F3AC0F /* ThirdViewController.m */, + CD1AEA9E174EF24600F3AC0F /* SecondViewController.h */, + CD1AEA9F174EF24600F3AC0F /* SecondViewController.m */, + CD1AEA96174EF0C500F3AC0F /* FirstViewController.h */, + CD1AEA97174EF0C500F3AC0F /* FirstViewController.m */, + CD1AEA82174EF0C500F3AC0F /* Supporting Files */, + ); + path = MultiViewStoryTabBar; + sourceTree = ""; + }; + CD1AEA82174EF0C500F3AC0F /* Supporting Files */ = { + isa = PBXGroup; + children = ( + CD1AEA83174EF0C500F3AC0F /* MultiViewStoryTabBar-Info.plist */, + CD1AEA84174EF0C500F3AC0F /* InfoPlist.strings */, + CD1AEA87174EF0C500F3AC0F /* main.m */, + CD1AEA89174EF0C500F3AC0F /* MultiViewStoryTabBar-Prefix.pch */, + CD1AEA8D174EF0C500F3AC0F /* Default.png */, + CD1AEA8F174EF0C500F3AC0F /* Default@2x.png */, + CD1AEA91174EF0C500F3AC0F /* Default-568h@2x.png */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + CD1AEA77174EF0C500F3AC0F /* MultiViewStoryTabBar */ = { + isa = PBXNativeTarget; + buildConfigurationList = CD1AEA9B174EF0C500F3AC0F /* Build configuration list for PBXNativeTarget "MultiViewStoryTabBar" */; + buildPhases = ( + CD1AEA74174EF0C500F3AC0F /* Sources */, + CD1AEA75174EF0C500F3AC0F /* Frameworks */, + CD1AEA76174EF0C500F3AC0F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = MultiViewStoryTabBar; + productName = MultiViewStoryTabBar; + productReference = CD1AEA78174EF0C500F3AC0F /* MultiViewStoryTabBar.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + CD1AEA70174EF0C500F3AC0F /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0460; + ORGANIZATIONNAME = "mo khan"; + }; + buildConfigurationList = CD1AEA73174EF0C500F3AC0F /* Build configuration list for PBXProject "MultiViewStoryTabBar" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = CD1AEA6F174EF0C500F3AC0F; + productRefGroup = CD1AEA79174EF0C500F3AC0F /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CD1AEA77174EF0C500F3AC0F /* MultiViewStoryTabBar */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + CD1AEA76174EF0C500F3AC0F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CD1AEA86174EF0C500F3AC0F /* InfoPlist.strings in Resources */, + CD1AEA8E174EF0C500F3AC0F /* Default.png in Resources */, + CD1AEA90174EF0C500F3AC0F /* Default@2x.png in Resources */, + CD1AEA92174EF0C500F3AC0F /* Default-568h@2x.png in Resources */, + CD1AEA95174EF0C500F3AC0F /* MainStoryboard.storyboard in Resources */, + CD1AEAA5174EF44400F3AC0F /* first.png in Resources */, + CD1AEAA6174EF44400F3AC0F /* first@2x.png in Resources */, + CD1AEAA7174EF44400F3AC0F /* second.png in Resources */, + CD1AEAA8174EF44400F3AC0F /* second@2x.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + CD1AEA74174EF0C500F3AC0F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CD1AEA88174EF0C500F3AC0F /* main.m in Sources */, + CD1AEA8C174EF0C500F3AC0F /* AppDelegate.m in Sources */, + CD1AEA98174EF0C500F3AC0F /* FirstViewController.m in Sources */, + CD1AEAA0174EF24600F3AC0F /* SecondViewController.m in Sources */, + CD1AEAAB174EF51600F3AC0F /* ThirdViewController.m in Sources */, + CD1AEAAE174EF85800F3AC0F /* FourthViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + CD1AEA84174EF0C500F3AC0F /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + CD1AEA85174EF0C500F3AC0F /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + CD1AEA93174EF0C500F3AC0F /* MainStoryboard.storyboard */ = { + isa = PBXVariantGroup; + children = ( + CD1AEA94174EF0C500F3AC0F /* en */, + ); + name = MainStoryboard.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + CD1AEA99174EF0C500F3AC0F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + 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_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + CD1AEA9A174EF0C500F3AC0F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + CD1AEA9C174EF0C500F3AC0F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MultiViewStoryTabBar/MultiViewStoryTabBar-Prefix.pch"; + INFOPLIST_FILE = "MultiViewStoryTabBar/MultiViewStoryTabBar-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + CD1AEA9D174EF0C500F3AC0F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MultiViewStoryTabBar/MultiViewStoryTabBar-Prefix.pch"; + INFOPLIST_FILE = "MultiViewStoryTabBar/MultiViewStoryTabBar-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + CD1AEA73174EF0C500F3AC0F /* Build configuration list for PBXProject "MultiViewStoryTabBar" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CD1AEA99174EF0C500F3AC0F /* Debug */, + CD1AEA9A174EF0C500F3AC0F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CD1AEA9B174EF0C500F3AC0F /* Build configuration list for PBXNativeTarget "MultiViewStoryTabBar" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CD1AEA9C174EF0C500F3AC0F /* Debug */, + CD1AEA9D174EF0C500F3AC0F /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = CD1AEA70174EF0C500F3AC0F /* Project object */; +} diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..3e0e804 --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate b/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..d4a9d1e Binary files /dev/null and b/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/WorkspaceSettings.xcsettings b/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..bfffcfe --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,10 @@ + + + + + HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges + + SnapshotAutomaticallyBeforeSignificantChanges + + + diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/MultiViewStoryTabBar.xcscheme b/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/MultiViewStoryTabBar.xcscheme new file mode 100644 index 0000000..985c80a --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/MultiViewStoryTabBar.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist b/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..5ace50b --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + MultiViewStoryTabBar.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + CD1AEA77174EF0C500F3AC0F + + primary + + + + + diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/AppDelegate.h b/MultiViewStoryTabBar/MultiViewStoryTabBar/AppDelegate.h new file mode 100644 index 0000000..26a1ad8 --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar/AppDelegate.h @@ -0,0 +1,15 @@ +// +// AppDelegate.h +// MultiViewStoryTabBar +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@end diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/AppDelegate.m b/MultiViewStoryTabBar/MultiViewStoryTabBar/AppDelegate.m new file mode 100644 index 0000000..53bb85d --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar/AppDelegate.m @@ -0,0 +1,46 @@ +// +// AppDelegate.m +// MultiViewStoryTabBar +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "AppDelegate.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + // Override point for customization after application launch. + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + +@end diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/Default-568h@2x.png b/MultiViewStoryTabBar/MultiViewStoryTabBar/Default-568h@2x.png new file mode 100644 index 0000000..0891b7a Binary files /dev/null and b/MultiViewStoryTabBar/MultiViewStoryTabBar/Default-568h@2x.png differ diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/Default.png b/MultiViewStoryTabBar/MultiViewStoryTabBar/Default.png new file mode 100644 index 0000000..4c8ca6f Binary files /dev/null and b/MultiViewStoryTabBar/MultiViewStoryTabBar/Default.png differ diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/Default@2x.png b/MultiViewStoryTabBar/MultiViewStoryTabBar/Default@2x.png new file mode 100644 index 0000000..35b84cf Binary files /dev/null and b/MultiViewStoryTabBar/MultiViewStoryTabBar/Default@2x.png differ diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/FirstViewController.h b/MultiViewStoryTabBar/MultiViewStoryTabBar/FirstViewController.h new file mode 100644 index 0000000..f774604 --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar/FirstViewController.h @@ -0,0 +1,13 @@ +// +// ViewController.h +// MultiViewStoryTabBar +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface FirstViewController : UIViewController + +@end diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/FirstViewController.m b/MultiViewStoryTabBar/MultiViewStoryTabBar/FirstViewController.m new file mode 100644 index 0000000..a683d03 --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar/FirstViewController.m @@ -0,0 +1,29 @@ +// +// ViewController.m +// MultiViewStoryTabBar +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "FirstViewController.h" + +@interface FirstViewController () + +@end + +@implementation FirstViewController + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/FourthViewController.h b/MultiViewStoryTabBar/MultiViewStoryTabBar/FourthViewController.h new file mode 100644 index 0000000..3f8237d --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar/FourthViewController.h @@ -0,0 +1,13 @@ +// +// FourthViewController.h +// MultiViewStoryTabBar +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface FourthViewController : UIViewController + +@end diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/FourthViewController.m b/MultiViewStoryTabBar/MultiViewStoryTabBar/FourthViewController.m new file mode 100644 index 0000000..400c3f9 --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar/FourthViewController.m @@ -0,0 +1,38 @@ +// +// FourthViewController.m +// MultiViewStoryTabBar +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "FourthViewController.h" + +@interface FourthViewController () + +@end + +@implementation FourthViewController + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + // Custom initialization + } + return self; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view. +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/MultiViewStoryTabBar-Info.plist b/MultiViewStoryTabBar/MultiViewStoryTabBar/MultiViewStoryTabBar-Info.plist new file mode 100644 index 0000000..d506e4a --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar/MultiViewStoryTabBar-Info.plist @@ -0,0 +1,40 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + mokhan.ca.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIMainStoryboardFile + MainStoryboard + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/MultiViewStoryTabBar-Prefix.pch b/MultiViewStoryTabBar/MultiViewStoryTabBar/MultiViewStoryTabBar-Prefix.pch new file mode 100644 index 0000000..cc637cb --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar/MultiViewStoryTabBar-Prefix.pch @@ -0,0 +1,14 @@ +// +// Prefix header for all source files of the 'MultiViewStoryTabBar' target in the 'MultiViewStoryTabBar' project +// + +#import + +#ifndef __IPHONE_5_0 +#warning "This project uses features only available in iOS SDK 5.0 and later." +#endif + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/SecondViewController.h b/MultiViewStoryTabBar/MultiViewStoryTabBar/SecondViewController.h new file mode 100644 index 0000000..0fa8f1f --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar/SecondViewController.h @@ -0,0 +1,13 @@ +// +// SecondViewController.h +// MultiViewStoryTabBar +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface SecondViewController : UIViewController + +@end diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/SecondViewController.m b/MultiViewStoryTabBar/MultiViewStoryTabBar/SecondViewController.m new file mode 100644 index 0000000..6ffc204 --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar/SecondViewController.m @@ -0,0 +1,38 @@ +// +// SecondViewController.m +// MultiViewStoryTabBar +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "SecondViewController.h" + +@interface SecondViewController () + +@end + +@implementation SecondViewController + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + // Custom initialization + } + return self; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view. +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/ThirdViewController.h b/MultiViewStoryTabBar/MultiViewStoryTabBar/ThirdViewController.h new file mode 100644 index 0000000..4af6204 --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar/ThirdViewController.h @@ -0,0 +1,13 @@ +// +// ThirdViewController.h +// MultiViewStoryTabBar +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface ThirdViewController : UIViewController + +@end diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/ThirdViewController.m b/MultiViewStoryTabBar/MultiViewStoryTabBar/ThirdViewController.m new file mode 100644 index 0000000..1800de7 --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar/ThirdViewController.m @@ -0,0 +1,38 @@ +// +// ThirdViewController.m +// MultiViewStoryTabBar +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "ThirdViewController.h" + +@interface ThirdViewController () + +@end + +@implementation ThirdViewController + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + // Custom initialization + } + return self; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view. +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/en.lproj/InfoPlist.strings b/MultiViewStoryTabBar/MultiViewStoryTabBar/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/en.lproj/MainStoryboard.storyboard b/MultiViewStoryTabBar/MultiViewStoryTabBar/en.lproj/MainStoryboard.storyboard new file mode 100644 index 0000000..d652c4b --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar/en.lproj/MainStoryboard.storyboard @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/first.png b/MultiViewStoryTabBar/MultiViewStoryTabBar/first.png new file mode 100644 index 0000000..9300ee2 Binary files /dev/null and b/MultiViewStoryTabBar/MultiViewStoryTabBar/first.png differ diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/first@2x.png b/MultiViewStoryTabBar/MultiViewStoryTabBar/first@2x.png new file mode 100644 index 0000000..374d78e Binary files /dev/null and b/MultiViewStoryTabBar/MultiViewStoryTabBar/first@2x.png differ diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/main.m b/MultiViewStoryTabBar/MultiViewStoryTabBar/main.m new file mode 100644 index 0000000..0f4ee67 --- /dev/null +++ b/MultiViewStoryTabBar/MultiViewStoryTabBar/main.m @@ -0,0 +1,18 @@ +// +// main.m +// MultiViewStoryTabBar +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. 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/MultiViewStoryTabBar/MultiViewStoryTabBar/second.png b/MultiViewStoryTabBar/MultiViewStoryTabBar/second.png new file mode 100644 index 0000000..1100b48 Binary files /dev/null and b/MultiViewStoryTabBar/MultiViewStoryTabBar/second.png differ diff --git a/MultiViewStoryTabBar/MultiViewStoryTabBar/second@2x.png b/MultiViewStoryTabBar/MultiViewStoryTabBar/second@2x.png new file mode 100644 index 0000000..368d38f Binary files /dev/null and b/MultiViewStoryTabBar/MultiViewStoryTabBar/second@2x.png differ diff --git a/MultiViewXIBTabBar/MultiViewXIBTabBar.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate b/MultiViewXIBTabBar/MultiViewXIBTabBar.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate index f8b4612..66fa794 100644 Binary files a/MultiViewXIBTabBar/MultiViewXIBTabBar.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate and b/MultiViewXIBTabBar/MultiViewXIBTabBar.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/project.pbxproj b/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/project.pbxproj new file mode 100644 index 0000000..73afbd0 --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/project.pbxproj @@ -0,0 +1,317 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + CD1AEA47174EE6C100F3AC0F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD1AEA46174EE6C100F3AC0F /* UIKit.framework */; }; + CD1AEA49174EE6C100F3AC0F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD1AEA48174EE6C100F3AC0F /* Foundation.framework */; }; + CD1AEA4B174EE6C100F3AC0F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD1AEA4A174EE6C100F3AC0F /* CoreGraphics.framework */; }; + CD1AEA51174EE6C100F3AC0F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEA4F174EE6C100F3AC0F /* InfoPlist.strings */; }; + CD1AEA53174EE6C100F3AC0F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CD1AEA52174EE6C100F3AC0F /* main.m */; }; + CD1AEA57174EE6C100F3AC0F /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CD1AEA56174EE6C100F3AC0F /* AppDelegate.m */; }; + CD1AEA59174EE6C100F3AC0F /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEA58174EE6C100F3AC0F /* Default.png */; }; + CD1AEA5B174EE6C100F3AC0F /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEA5A174EE6C100F3AC0F /* Default@2x.png */; }; + CD1AEA5D174EE6C100F3AC0F /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEA5C174EE6C100F3AC0F /* Default-568h@2x.png */; }; + CD1AEA60174EE6C100F3AC0F /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CD1AEA5E174EE6C100F3AC0F /* MainStoryboard.storyboard */; }; + CD1AEA63174EE6C100F3AC0F /* FirstViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD1AEA62174EE6C100F3AC0F /* FirstViewController.m */; }; + CD1AEA6B174EE94D00F3AC0F /* SecondViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD1AEA6A174EE94D00F3AC0F /* SecondViewController.m */; }; + CD1AEA6E174EEDED00F3AC0F /* ThirdViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD1AEA6D174EEDED00F3AC0F /* ThirdViewController.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + CD1AEA43174EE6C100F3AC0F /* MultiViewsStoryNav..app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MultiViewsStoryNav..app; sourceTree = BUILT_PRODUCTS_DIR; }; + CD1AEA46174EE6C100F3AC0F /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + CD1AEA48174EE6C100F3AC0F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + CD1AEA4A174EE6C100F3AC0F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + CD1AEA4E174EE6C100F3AC0F /* MultiViewsStoryNav.-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MultiViewsStoryNav.-Info.plist"; sourceTree = ""; }; + CD1AEA50174EE6C100F3AC0F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + CD1AEA52174EE6C100F3AC0F /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + CD1AEA54174EE6C100F3AC0F /* MultiViewsStoryNav.-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MultiViewsStoryNav.-Prefix.pch"; sourceTree = ""; }; + CD1AEA55174EE6C100F3AC0F /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + CD1AEA56174EE6C100F3AC0F /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + CD1AEA58174EE6C100F3AC0F /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; + CD1AEA5A174EE6C100F3AC0F /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; + CD1AEA5C174EE6C100F3AC0F /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; + CD1AEA5F174EE6C100F3AC0F /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard.storyboard; sourceTree = ""; }; + CD1AEA61174EE6C100F3AC0F /* FirstViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FirstViewController.h; sourceTree = ""; }; + CD1AEA62174EE6C100F3AC0F /* FirstViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FirstViewController.m; sourceTree = ""; }; + CD1AEA69174EE94D00F3AC0F /* SecondViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SecondViewController.h; sourceTree = ""; }; + CD1AEA6A174EE94D00F3AC0F /* SecondViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SecondViewController.m; sourceTree = ""; }; + CD1AEA6C174EEDED00F3AC0F /* ThirdViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThirdViewController.h; sourceTree = ""; }; + CD1AEA6D174EEDED00F3AC0F /* ThirdViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ThirdViewController.m; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + CD1AEA40174EE6C100F3AC0F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CD1AEA47174EE6C100F3AC0F /* UIKit.framework in Frameworks */, + CD1AEA49174EE6C100F3AC0F /* Foundation.framework in Frameworks */, + CD1AEA4B174EE6C100F3AC0F /* CoreGraphics.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + CD1AEA3A174EE6C100F3AC0F = { + isa = PBXGroup; + children = ( + CD1AEA4C174EE6C100F3AC0F /* MultiViewsStoryNav. */, + CD1AEA45174EE6C100F3AC0F /* Frameworks */, + CD1AEA44174EE6C100F3AC0F /* Products */, + ); + sourceTree = ""; + }; + CD1AEA44174EE6C100F3AC0F /* Products */ = { + isa = PBXGroup; + children = ( + CD1AEA43174EE6C100F3AC0F /* MultiViewsStoryNav..app */, + ); + name = Products; + sourceTree = ""; + }; + CD1AEA45174EE6C100F3AC0F /* Frameworks */ = { + isa = PBXGroup; + children = ( + CD1AEA46174EE6C100F3AC0F /* UIKit.framework */, + CD1AEA48174EE6C100F3AC0F /* Foundation.framework */, + CD1AEA4A174EE6C100F3AC0F /* CoreGraphics.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + CD1AEA4C174EE6C100F3AC0F /* MultiViewsStoryNav. */ = { + isa = PBXGroup; + children = ( + CD1AEA55174EE6C100F3AC0F /* AppDelegate.h */, + CD1AEA56174EE6C100F3AC0F /* AppDelegate.m */, + CD1AEA5E174EE6C100F3AC0F /* MainStoryboard.storyboard */, + CD1AEA6C174EEDED00F3AC0F /* ThirdViewController.h */, + CD1AEA6D174EEDED00F3AC0F /* ThirdViewController.m */, + CD1AEA61174EE6C100F3AC0F /* FirstViewController.h */, + CD1AEA69174EE94D00F3AC0F /* SecondViewController.h */, + CD1AEA6A174EE94D00F3AC0F /* SecondViewController.m */, + CD1AEA62174EE6C100F3AC0F /* FirstViewController.m */, + CD1AEA4D174EE6C100F3AC0F /* Supporting Files */, + ); + path = MultiViewsStoryNav.; + sourceTree = ""; + }; + CD1AEA4D174EE6C100F3AC0F /* Supporting Files */ = { + isa = PBXGroup; + children = ( + CD1AEA4E174EE6C100F3AC0F /* MultiViewsStoryNav.-Info.plist */, + CD1AEA4F174EE6C100F3AC0F /* InfoPlist.strings */, + CD1AEA52174EE6C100F3AC0F /* main.m */, + CD1AEA54174EE6C100F3AC0F /* MultiViewsStoryNav.-Prefix.pch */, + CD1AEA58174EE6C100F3AC0F /* Default.png */, + CD1AEA5A174EE6C100F3AC0F /* Default@2x.png */, + CD1AEA5C174EE6C100F3AC0F /* Default-568h@2x.png */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + CD1AEA42174EE6C100F3AC0F /* MultiViewsStoryNav. */ = { + isa = PBXNativeTarget; + buildConfigurationList = CD1AEA66174EE6C100F3AC0F /* Build configuration list for PBXNativeTarget "MultiViewsStoryNav." */; + buildPhases = ( + CD1AEA3F174EE6C100F3AC0F /* Sources */, + CD1AEA40174EE6C100F3AC0F /* Frameworks */, + CD1AEA41174EE6C100F3AC0F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = MultiViewsStoryNav.; + productName = MultiViewsStoryNav.; + productReference = CD1AEA43174EE6C100F3AC0F /* MultiViewsStoryNav..app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + CD1AEA3B174EE6C100F3AC0F /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0460; + ORGANIZATIONNAME = "mo khan"; + }; + buildConfigurationList = CD1AEA3E174EE6C100F3AC0F /* Build configuration list for PBXProject "MultiViewsStoryNav." */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = CD1AEA3A174EE6C100F3AC0F; + productRefGroup = CD1AEA44174EE6C100F3AC0F /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CD1AEA42174EE6C100F3AC0F /* MultiViewsStoryNav. */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + CD1AEA41174EE6C100F3AC0F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CD1AEA51174EE6C100F3AC0F /* InfoPlist.strings in Resources */, + CD1AEA59174EE6C100F3AC0F /* Default.png in Resources */, + CD1AEA5B174EE6C100F3AC0F /* Default@2x.png in Resources */, + CD1AEA5D174EE6C100F3AC0F /* Default-568h@2x.png in Resources */, + CD1AEA60174EE6C100F3AC0F /* MainStoryboard.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + CD1AEA3F174EE6C100F3AC0F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CD1AEA53174EE6C100F3AC0F /* main.m in Sources */, + CD1AEA57174EE6C100F3AC0F /* AppDelegate.m in Sources */, + CD1AEA63174EE6C100F3AC0F /* FirstViewController.m in Sources */, + CD1AEA6B174EE94D00F3AC0F /* SecondViewController.m in Sources */, + CD1AEA6E174EEDED00F3AC0F /* ThirdViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + CD1AEA4F174EE6C100F3AC0F /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + CD1AEA50174EE6C100F3AC0F /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + CD1AEA5E174EE6C100F3AC0F /* MainStoryboard.storyboard */ = { + isa = PBXVariantGroup; + children = ( + CD1AEA5F174EE6C100F3AC0F /* en */, + ); + name = MainStoryboard.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + CD1AEA64174EE6C100F3AC0F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + 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_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + CD1AEA65174EE6C100F3AC0F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + CD1AEA67174EE6C100F3AC0F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MultiViewsStoryNav./MultiViewsStoryNav.-Prefix.pch"; + INFOPLIST_FILE = "MultiViewsStoryNav./MultiViewsStoryNav.-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + CD1AEA68174EE6C100F3AC0F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MultiViewsStoryNav./MultiViewsStoryNav.-Prefix.pch"; + INFOPLIST_FILE = "MultiViewsStoryNav./MultiViewsStoryNav.-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + CD1AEA3E174EE6C100F3AC0F /* Build configuration list for PBXProject "MultiViewsStoryNav." */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CD1AEA64174EE6C100F3AC0F /* Debug */, + CD1AEA65174EE6C100F3AC0F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CD1AEA66174EE6C100F3AC0F /* Build configuration list for PBXNativeTarget "MultiViewsStoryNav." */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CD1AEA67174EE6C100F3AC0F /* Debug */, + CD1AEA68174EE6C100F3AC0F /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = CD1AEA3B174EE6C100F3AC0F /* Project object */; +} diff --git a/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/project.xcworkspace/contents.xcworkspacedata b/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..00e5946 --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate b/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..714988c Binary files /dev/null and b/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/WorkspaceSettings.xcsettings b/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..659c876 --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,10 @@ + + + + + HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges + + SnapshotAutomaticallyBeforeSignificantChanges + + + diff --git a/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/MultiViewsStoryNav..xcscheme b/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/MultiViewsStoryNav..xcscheme new file mode 100644 index 0000000..8a99324 --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/MultiViewsStoryNav..xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist b/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..993cbf5 --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav..xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + MultiViewsStoryNav..xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + CD1AEA42174EE6C100F3AC0F + + primary + + + + + diff --git a/MultiViewsStoryNav./MultiViewsStoryNav./AppDelegate.h b/MultiViewsStoryNav./MultiViewsStoryNav./AppDelegate.h new file mode 100644 index 0000000..46b045a --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav./AppDelegate.h @@ -0,0 +1,15 @@ +// +// AppDelegate.h +// MultiViewsStoryNav. +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@end diff --git a/MultiViewsStoryNav./MultiViewsStoryNav./AppDelegate.m b/MultiViewsStoryNav./MultiViewsStoryNav./AppDelegate.m new file mode 100644 index 0000000..5946d8f --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav./AppDelegate.m @@ -0,0 +1,46 @@ +// +// AppDelegate.m +// MultiViewsStoryNav. +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "AppDelegate.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + // Override point for customization after application launch. + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + +@end diff --git a/MultiViewsStoryNav./MultiViewsStoryNav./Default-568h@2x.png b/MultiViewsStoryNav./MultiViewsStoryNav./Default-568h@2x.png new file mode 100644 index 0000000..0891b7a Binary files /dev/null and b/MultiViewsStoryNav./MultiViewsStoryNav./Default-568h@2x.png differ diff --git a/MultiViewsStoryNav./MultiViewsStoryNav./Default.png b/MultiViewsStoryNav./MultiViewsStoryNav./Default.png new file mode 100644 index 0000000..4c8ca6f Binary files /dev/null and b/MultiViewsStoryNav./MultiViewsStoryNav./Default.png differ diff --git a/MultiViewsStoryNav./MultiViewsStoryNav./Default@2x.png b/MultiViewsStoryNav./MultiViewsStoryNav./Default@2x.png new file mode 100644 index 0000000..35b84cf Binary files /dev/null and b/MultiViewsStoryNav./MultiViewsStoryNav./Default@2x.png differ diff --git a/MultiViewsStoryNav./MultiViewsStoryNav./FirstViewController.h b/MultiViewsStoryNav./MultiViewsStoryNav./FirstViewController.h new file mode 100644 index 0000000..fb4e486 --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav./FirstViewController.h @@ -0,0 +1,13 @@ +// +// ViewController.h +// MultiViewsStoryNav. +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface FirstViewController : UIViewController + +@end diff --git a/MultiViewsStoryNav./MultiViewsStoryNav./FirstViewController.m b/MultiViewsStoryNav./MultiViewsStoryNav./FirstViewController.m new file mode 100644 index 0000000..8c74f5b --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav./FirstViewController.m @@ -0,0 +1,29 @@ +// +// ViewController.m +// MultiViewsStoryNav. +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "FirstViewController.h" + +@interface FirstViewController () + +@end + +@implementation FirstViewController + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/MultiViewsStoryNav./MultiViewsStoryNav./MultiViewsStoryNav.-Info.plist b/MultiViewsStoryNav./MultiViewsStoryNav./MultiViewsStoryNav.-Info.plist new file mode 100644 index 0000000..d506e4a --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav./MultiViewsStoryNav.-Info.plist @@ -0,0 +1,40 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + mokhan.ca.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIMainStoryboardFile + MainStoryboard + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/MultiViewsStoryNav./MultiViewsStoryNav./MultiViewsStoryNav.-Prefix.pch b/MultiViewsStoryNav./MultiViewsStoryNav./MultiViewsStoryNav.-Prefix.pch new file mode 100644 index 0000000..464124b --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav./MultiViewsStoryNav.-Prefix.pch @@ -0,0 +1,14 @@ +// +// Prefix header for all source files of the 'MultiViewsStoryNav.' target in the 'MultiViewsStoryNav.' project +// + +#import + +#ifndef __IPHONE_5_0 +#warning "This project uses features only available in iOS SDK 5.0 and later." +#endif + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/MultiViewsStoryNav./MultiViewsStoryNav./SecondViewController.h b/MultiViewsStoryNav./MultiViewsStoryNav./SecondViewController.h new file mode 100644 index 0000000..43b777c --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav./SecondViewController.h @@ -0,0 +1,13 @@ +// +// SecondViewController.h +// MultiViewsStoryNav. +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface SecondViewController : UIViewController + +@end diff --git a/MultiViewsStoryNav./MultiViewsStoryNav./SecondViewController.m b/MultiViewsStoryNav./MultiViewsStoryNav./SecondViewController.m new file mode 100644 index 0000000..24fd41f --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav./SecondViewController.m @@ -0,0 +1,38 @@ +// +// SecondViewController.m +// MultiViewsStoryNav. +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "SecondViewController.h" + +@interface SecondViewController () + +@end + +@implementation SecondViewController + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + // Custom initialization + } + return self; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view. +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/MultiViewsStoryNav./MultiViewsStoryNav./ThirdViewController.h b/MultiViewsStoryNav./MultiViewsStoryNav./ThirdViewController.h new file mode 100644 index 0000000..4cccc74 --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav./ThirdViewController.h @@ -0,0 +1,13 @@ +// +// ThirdViewController.h +// MultiViewsStoryNav. +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface ThirdViewController : UIViewController + +@end diff --git a/MultiViewsStoryNav./MultiViewsStoryNav./ThirdViewController.m b/MultiViewsStoryNav./MultiViewsStoryNav./ThirdViewController.m new file mode 100644 index 0000000..810a74a --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav./ThirdViewController.m @@ -0,0 +1,38 @@ +// +// ThirdViewController.m +// MultiViewsStoryNav. +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "ThirdViewController.h" + +@interface ThirdViewController () + +@end + +@implementation ThirdViewController + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + // Custom initialization + } + return self; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view. +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/MultiViewsStoryNav./MultiViewsStoryNav./en.lproj/InfoPlist.strings b/MultiViewsStoryNav./MultiViewsStoryNav./en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav./en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/MultiViewsStoryNav./MultiViewsStoryNav./en.lproj/MainStoryboard.storyboard b/MultiViewsStoryNav./MultiViewsStoryNav./en.lproj/MainStoryboard.storyboard new file mode 100644 index 0000000..69ab1fe --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav./en.lproj/MainStoryboard.storyboard @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MultiViewsStoryNav./MultiViewsStoryNav./main.m b/MultiViewsStoryNav./MultiViewsStoryNav./main.m new file mode 100644 index 0000000..246d08f --- /dev/null +++ b/MultiViewsStoryNav./MultiViewsStoryNav./main.m @@ -0,0 +1,18 @@ +// +// main.m +// MultiViewsStoryNav. +// +// Created by mo khan on 2013-05-23. +// Copyright (c) 2013 mo khan. 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/Protocol/Protocol.xcodeproj/project.pbxproj b/Protocol/Protocol.xcodeproj/project.pbxproj new file mode 100644 index 0000000..94b5c7c --- /dev/null +++ b/Protocol/Protocol.xcodeproj/project.pbxproj @@ -0,0 +1,305 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + CDA5805B17582A84006C499C /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDA5805A17582A84006C499C /* UIKit.framework */; }; + CDA5805D17582A84006C499C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDA5805C17582A84006C499C /* Foundation.framework */; }; + CDA5805F17582A84006C499C /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDA5805E17582A84006C499C /* CoreGraphics.framework */; }; + CDA5806517582A84006C499C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = CDA5806317582A84006C499C /* InfoPlist.strings */; }; + CDA5806717582A84006C499C /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CDA5806617582A84006C499C /* main.m */; }; + CDA5806B17582A84006C499C /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CDA5806A17582A84006C499C /* AppDelegate.m */; }; + CDA5806D17582A84006C499C /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = CDA5806C17582A84006C499C /* Default.png */; }; + CDA5806F17582A84006C499C /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CDA5806E17582A84006C499C /* Default@2x.png */; }; + CDA5807117582A84006C499C /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CDA5807017582A84006C499C /* Default-568h@2x.png */; }; + CDA5807417582A84006C499C /* FirstViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CDA5807317582A84006C499C /* FirstViewController.m */; }; + CDA5807717582A84006C499C /* FirstViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CDA5807517582A84006C499C /* FirstViewController.xib */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + CDA5805717582A84006C499C /* Protocol.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Protocol.app; sourceTree = BUILT_PRODUCTS_DIR; }; + CDA5805A17582A84006C499C /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + CDA5805C17582A84006C499C /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + CDA5805E17582A84006C499C /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + CDA5806217582A84006C499C /* Protocol-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Protocol-Info.plist"; sourceTree = ""; }; + CDA5806417582A84006C499C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + CDA5806617582A84006C499C /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + CDA5806817582A84006C499C /* Protocol-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Protocol-Prefix.pch"; sourceTree = ""; }; + CDA5806917582A84006C499C /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + CDA5806A17582A84006C499C /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + CDA5806C17582A84006C499C /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; + CDA5806E17582A84006C499C /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; + CDA5807017582A84006C499C /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; + CDA5807217582A84006C499C /* FirstViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FirstViewController.h; sourceTree = ""; }; + CDA5807317582A84006C499C /* FirstViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FirstViewController.m; sourceTree = ""; }; + CDA5807617582A84006C499C /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/FirstViewController.xib; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + CDA5805417582A84006C499C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CDA5805B17582A84006C499C /* UIKit.framework in Frameworks */, + CDA5805D17582A84006C499C /* Foundation.framework in Frameworks */, + CDA5805F17582A84006C499C /* CoreGraphics.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + CDA5804E17582A84006C499C = { + isa = PBXGroup; + children = ( + CDA5806017582A84006C499C /* Protocol */, + CDA5805917582A84006C499C /* Frameworks */, + CDA5805817582A84006C499C /* Products */, + ); + sourceTree = ""; + }; + CDA5805817582A84006C499C /* Products */ = { + isa = PBXGroup; + children = ( + CDA5805717582A84006C499C /* Protocol.app */, + ); + name = Products; + sourceTree = ""; + }; + CDA5805917582A84006C499C /* Frameworks */ = { + isa = PBXGroup; + children = ( + CDA5805A17582A84006C499C /* UIKit.framework */, + CDA5805C17582A84006C499C /* Foundation.framework */, + CDA5805E17582A84006C499C /* CoreGraphics.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + CDA5806017582A84006C499C /* Protocol */ = { + isa = PBXGroup; + children = ( + CDA5806917582A84006C499C /* AppDelegate.h */, + CDA5806A17582A84006C499C /* AppDelegate.m */, + CDA5807217582A84006C499C /* FirstViewController.h */, + CDA5807317582A84006C499C /* FirstViewController.m */, + CDA5807517582A84006C499C /* FirstViewController.xib */, + CDA5806117582A84006C499C /* Supporting Files */, + ); + path = Protocol; + sourceTree = ""; + }; + CDA5806117582A84006C499C /* Supporting Files */ = { + isa = PBXGroup; + children = ( + CDA5806217582A84006C499C /* Protocol-Info.plist */, + CDA5806317582A84006C499C /* InfoPlist.strings */, + CDA5806617582A84006C499C /* main.m */, + CDA5806817582A84006C499C /* Protocol-Prefix.pch */, + CDA5806C17582A84006C499C /* Default.png */, + CDA5806E17582A84006C499C /* Default@2x.png */, + CDA5807017582A84006C499C /* Default-568h@2x.png */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + CDA5805617582A84006C499C /* Protocol */ = { + isa = PBXNativeTarget; + buildConfigurationList = CDA5807A17582A84006C499C /* Build configuration list for PBXNativeTarget "Protocol" */; + buildPhases = ( + CDA5805317582A84006C499C /* Sources */, + CDA5805417582A84006C499C /* Frameworks */, + CDA5805517582A84006C499C /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Protocol; + productName = Protocol; + productReference = CDA5805717582A84006C499C /* Protocol.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + CDA5804F17582A84006C499C /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0460; + ORGANIZATIONNAME = "mo khan"; + }; + buildConfigurationList = CDA5805217582A84006C499C /* Build configuration list for PBXProject "Protocol" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = CDA5804E17582A84006C499C; + productRefGroup = CDA5805817582A84006C499C /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CDA5805617582A84006C499C /* Protocol */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + CDA5805517582A84006C499C /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CDA5806517582A84006C499C /* InfoPlist.strings in Resources */, + CDA5806D17582A84006C499C /* Default.png in Resources */, + CDA5806F17582A84006C499C /* Default@2x.png in Resources */, + CDA5807117582A84006C499C /* Default-568h@2x.png in Resources */, + CDA5807717582A84006C499C /* FirstViewController.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + CDA5805317582A84006C499C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CDA5806717582A84006C499C /* main.m in Sources */, + CDA5806B17582A84006C499C /* AppDelegate.m in Sources */, + CDA5807417582A84006C499C /* FirstViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + CDA5806317582A84006C499C /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + CDA5806417582A84006C499C /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + CDA5807517582A84006C499C /* FirstViewController.xib */ = { + isa = PBXVariantGroup; + children = ( + CDA5807617582A84006C499C /* en */, + ); + name = FirstViewController.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + CDA5807817582A84006C499C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + 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_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + CDA5807917582A84006C499C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + CDA5807B17582A84006C499C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Protocol/Protocol-Prefix.pch"; + INFOPLIST_FILE = "Protocol/Protocol-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + CDA5807C17582A84006C499C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Protocol/Protocol-Prefix.pch"; + INFOPLIST_FILE = "Protocol/Protocol-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + CDA5805217582A84006C499C /* Build configuration list for PBXProject "Protocol" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CDA5807817582A84006C499C /* Debug */, + CDA5807917582A84006C499C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CDA5807A17582A84006C499C /* Build configuration list for PBXNativeTarget "Protocol" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CDA5807B17582A84006C499C /* Debug */, + CDA5807C17582A84006C499C /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = CDA5804F17582A84006C499C /* Project object */; +} diff --git a/Protocol/Protocol.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Protocol/Protocol.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..822a8b0 --- /dev/null +++ b/Protocol/Protocol.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Protocol/Protocol.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate b/Protocol/Protocol.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..044e9e4 Binary files /dev/null and b/Protocol/Protocol.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Protocol/Protocol.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/WorkspaceSettings.xcsettings b/Protocol/Protocol.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..bfffcfe --- /dev/null +++ b/Protocol/Protocol.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,10 @@ + + + + + HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges + + SnapshotAutomaticallyBeforeSignificantChanges + + + diff --git a/Protocol/Protocol.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Protocol.xcscheme b/Protocol/Protocol.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Protocol.xcscheme new file mode 100644 index 0000000..0c343f8 --- /dev/null +++ b/Protocol/Protocol.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Protocol.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Protocol/Protocol.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist b/Protocol/Protocol.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..5d59379 --- /dev/null +++ b/Protocol/Protocol.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Protocol.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + CDA5805617582A84006C499C + + primary + + + + + diff --git a/Protocol/Protocol/AppDelegate.h b/Protocol/Protocol/AppDelegate.h new file mode 100644 index 0000000..7fb0fc2 --- /dev/null +++ b/Protocol/Protocol/AppDelegate.h @@ -0,0 +1,19 @@ +// +// AppDelegate.h +// Protocol +// +// Created by mo khan on 2013-05-30. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@class FirstViewController; + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@property (strong, nonatomic) FirstViewController *viewController; + +@end diff --git a/Protocol/Protocol/AppDelegate.m b/Protocol/Protocol/AppDelegate.m new file mode 100644 index 0000000..f8458a8 --- /dev/null +++ b/Protocol/Protocol/AppDelegate.m @@ -0,0 +1,52 @@ +// +// AppDelegate.m +// Protocol +// +// Created by mo khan on 2013-05-30. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "AppDelegate.h" + +#import "FirstViewController.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + // Override point for customization after application launch. + self.viewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil]; + self.window.rootViewController = self.viewController; + [self.window makeKeyAndVisible]; + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + +@end diff --git a/Protocol/Protocol/Default-568h@2x.png b/Protocol/Protocol/Default-568h@2x.png new file mode 100644 index 0000000..0891b7a Binary files /dev/null and b/Protocol/Protocol/Default-568h@2x.png differ diff --git a/Protocol/Protocol/Default.png b/Protocol/Protocol/Default.png new file mode 100644 index 0000000..4c8ca6f Binary files /dev/null and b/Protocol/Protocol/Default.png differ diff --git a/Protocol/Protocol/Default@2x.png b/Protocol/Protocol/Default@2x.png new file mode 100644 index 0000000..35b84cf Binary files /dev/null and b/Protocol/Protocol/Default@2x.png differ diff --git a/Protocol/Protocol/FirstViewController.h b/Protocol/Protocol/FirstViewController.h new file mode 100644 index 0000000..34cd29b --- /dev/null +++ b/Protocol/Protocol/FirstViewController.h @@ -0,0 +1,13 @@ +// +// ViewController.h +// Protocol +// +// Created by mo khan on 2013-05-30. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface FirstViewController : UIViewController + +@end diff --git a/Protocol/Protocol/FirstViewController.m b/Protocol/Protocol/FirstViewController.m new file mode 100644 index 0000000..8f21bfb --- /dev/null +++ b/Protocol/Protocol/FirstViewController.m @@ -0,0 +1,29 @@ +// +// ViewController.m +// Protocol +// +// Created by mo khan on 2013-05-30. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "FirstViewController.h" + +@interface FirstViewController () + +@end + +@implementation FirstViewController + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/Protocol/Protocol/Protocol-Info.plist b/Protocol/Protocol/Protocol-Info.plist new file mode 100644 index 0000000..72d55a8 --- /dev/null +++ b/Protocol/Protocol/Protocol-Info.plist @@ -0,0 +1,38 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + mokhan.ca.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Protocol/Protocol/Protocol-Prefix.pch b/Protocol/Protocol/Protocol-Prefix.pch new file mode 100644 index 0000000..3ae843a --- /dev/null +++ b/Protocol/Protocol/Protocol-Prefix.pch @@ -0,0 +1,14 @@ +// +// Prefix header for all source files of the 'Protocol' target in the 'Protocol' project +// + +#import + +#ifndef __IPHONE_4_0 +#warning "This project uses features only available in iOS SDK 4.0 and later." +#endif + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/Protocol/Protocol/en.lproj/FirstViewController.xib b/Protocol/Protocol/en.lproj/FirstViewController.xib new file mode 100644 index 0000000..8fb01a2 --- /dev/null +++ b/Protocol/Protocol/en.lproj/FirstViewController.xib @@ -0,0 +1,137 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + {{0, 20}, {320, 548}} + + + + 3 + MC43NQA + + 2 + + + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + + + + + + + view + + + + 7 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 6 + + + + + + + FirstViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 7 + + + + + FirstViewController + UIViewController + + IBProjectSource + ./Classes/FirstViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/Protocol/Protocol/en.lproj/InfoPlist.strings b/Protocol/Protocol/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/Protocol/Protocol/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/Protocol/Protocol/main.m b/Protocol/Protocol/main.m new file mode 100644 index 0000000..cde935f --- /dev/null +++ b/Protocol/Protocol/main.m @@ -0,0 +1,18 @@ +// +// main.m +// Protocol +// +// Created by mo khan on 2013-05-30. +// Copyright (c) 2013 mo khan. 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/SplitViewXIBFonts/.idea/.name b/SplitViewXIBFonts/.idea/.name new file mode 100644 index 0000000..5a367f9 --- /dev/null +++ b/SplitViewXIBFonts/.idea/.name @@ -0,0 +1 @@ +SplitViewXIBFonts \ No newline at end of file diff --git a/SplitViewXIBFonts/.idea/SplitViewXIBFonts.iml b/SplitViewXIBFonts/.idea/SplitViewXIBFonts.iml new file mode 100644 index 0000000..f9b36de --- /dev/null +++ b/SplitViewXIBFonts/.idea/SplitViewXIBFonts.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/SplitViewXIBFonts/.idea/encodings.xml b/SplitViewXIBFonts/.idea/encodings.xml new file mode 100644 index 0000000..e206d70 --- /dev/null +++ b/SplitViewXIBFonts/.idea/encodings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/SplitViewXIBFonts/.idea/misc.xml b/SplitViewXIBFonts/.idea/misc.xml new file mode 100644 index 0000000..1162f43 --- /dev/null +++ b/SplitViewXIBFonts/.idea/misc.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/SplitViewXIBFonts/.idea/modules.xml b/SplitViewXIBFonts/.idea/modules.xml new file mode 100644 index 0000000..a75bce9 --- /dev/null +++ b/SplitViewXIBFonts/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/SplitViewXIBFonts/.idea/scopes/scope_settings.xml b/SplitViewXIBFonts/.idea/scopes/scope_settings.xml new file mode 100644 index 0000000..922003b --- /dev/null +++ b/SplitViewXIBFonts/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/SplitViewXIBFonts/.idea/vcs.xml b/SplitViewXIBFonts/.idea/vcs.xml new file mode 100644 index 0000000..def6a6a --- /dev/null +++ b/SplitViewXIBFonts/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SplitViewXIBFonts/.idea/workspace.xml b/SplitViewXIBFonts/.idea/workspace.xml new file mode 100644 index 0000000..85bb5ae --- /dev/null +++ b/SplitViewXIBFonts/.idea/workspace.xml @@ -0,0 +1,266 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1369789655501 + 1369789655501 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SplitViewXIBFonts/.idea/xcode.xml b/SplitViewXIBFonts/.idea/xcode.xml new file mode 100644 index 0000000..0678b15 --- /dev/null +++ b/SplitViewXIBFonts/.idea/xcode.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/project.pbxproj b/SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/project.pbxproj new file mode 100644 index 0000000..32b22d2 --- /dev/null +++ b/SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/project.pbxproj @@ -0,0 +1,325 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + CDF29B1E1755845400314E32 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDF29B1D1755845400314E32 /* UIKit.framework */; }; + CDF29B201755845400314E32 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDF29B1F1755845400314E32 /* Foundation.framework */; }; + CDF29B221755845400314E32 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDF29B211755845400314E32 /* CoreGraphics.framework */; }; + CDF29B281755845400314E32 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = CDF29B261755845400314E32 /* InfoPlist.strings */; }; + CDF29B2A1755845400314E32 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CDF29B291755845400314E32 /* main.m */; }; + CDF29B2E1755845400314E32 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CDF29B2D1755845400314E32 /* AppDelegate.m */; }; + CDF29B301755845400314E32 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = CDF29B2F1755845400314E32 /* Default.png */; }; + CDF29B321755845400314E32 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CDF29B311755845400314E32 /* Default@2x.png */; }; + CDF29B341755845400314E32 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CDF29B331755845400314E32 /* Default-568h@2x.png */; }; + CDF29B371755845400314E32 /* MasterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CDF29B361755845400314E32 /* MasterViewController.m */; }; + CDF29B3A1755845400314E32 /* DetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CDF29B391755845400314E32 /* DetailViewController.m */; }; + CDF29B3D1755845400314E32 /* MasterViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CDF29B3B1755845400314E32 /* MasterViewController.xib */; }; + CDF29B401755845400314E32 /* DetailViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CDF29B3E1755845400314E32 /* DetailViewController.xib */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + CDF29B1A1755845400314E32 /* SplitViewXIBFonts.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SplitViewXIBFonts.app; sourceTree = BUILT_PRODUCTS_DIR; }; + CDF29B1D1755845400314E32 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + CDF29B1F1755845400314E32 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + CDF29B211755845400314E32 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + CDF29B251755845400314E32 /* SplitViewXIBFonts-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "SplitViewXIBFonts-Info.plist"; sourceTree = ""; }; + CDF29B271755845400314E32 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + CDF29B291755845400314E32 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + CDF29B2B1755845400314E32 /* SplitViewXIBFonts-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SplitViewXIBFonts-Prefix.pch"; sourceTree = ""; }; + CDF29B2C1755845400314E32 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + CDF29B2D1755845400314E32 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + CDF29B2F1755845400314E32 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; + CDF29B311755845400314E32 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; + CDF29B331755845400314E32 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; + CDF29B351755845400314E32 /* MasterViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MasterViewController.h; sourceTree = ""; }; + CDF29B361755845400314E32 /* MasterViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MasterViewController.m; sourceTree = ""; }; + CDF29B381755845400314E32 /* DetailViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DetailViewController.h; sourceTree = ""; }; + CDF29B391755845400314E32 /* DetailViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DetailViewController.m; sourceTree = ""; }; + CDF29B3C1755845400314E32 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MasterViewController.xib; sourceTree = ""; }; + CDF29B3F1755845400314E32 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/DetailViewController.xib; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + CDF29B171755845400314E32 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CDF29B1E1755845400314E32 /* UIKit.framework in Frameworks */, + CDF29B201755845400314E32 /* Foundation.framework in Frameworks */, + CDF29B221755845400314E32 /* CoreGraphics.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + CDF29B111755845400314E32 = { + isa = PBXGroup; + children = ( + CDF29B231755845400314E32 /* SplitViewXIBFonts */, + CDF29B1C1755845400314E32 /* Frameworks */, + CDF29B1B1755845400314E32 /* Products */, + ); + sourceTree = ""; + }; + CDF29B1B1755845400314E32 /* Products */ = { + isa = PBXGroup; + children = ( + CDF29B1A1755845400314E32 /* SplitViewXIBFonts.app */, + ); + name = Products; + sourceTree = ""; + }; + CDF29B1C1755845400314E32 /* Frameworks */ = { + isa = PBXGroup; + children = ( + CDF29B1D1755845400314E32 /* UIKit.framework */, + CDF29B1F1755845400314E32 /* Foundation.framework */, + CDF29B211755845400314E32 /* CoreGraphics.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + CDF29B231755845400314E32 /* SplitViewXIBFonts */ = { + isa = PBXGroup; + children = ( + CDF29B2C1755845400314E32 /* AppDelegate.h */, + CDF29B2D1755845400314E32 /* AppDelegate.m */, + CDF29B351755845400314E32 /* MasterViewController.h */, + CDF29B361755845400314E32 /* MasterViewController.m */, + CDF29B381755845400314E32 /* DetailViewController.h */, + CDF29B391755845400314E32 /* DetailViewController.m */, + CDF29B3B1755845400314E32 /* MasterViewController.xib */, + CDF29B3E1755845400314E32 /* DetailViewController.xib */, + CDF29B241755845400314E32 /* Supporting Files */, + ); + path = SplitViewXIBFonts; + sourceTree = ""; + }; + CDF29B241755845400314E32 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + CDF29B251755845400314E32 /* SplitViewXIBFonts-Info.plist */, + CDF29B261755845400314E32 /* InfoPlist.strings */, + CDF29B291755845400314E32 /* main.m */, + CDF29B2B1755845400314E32 /* SplitViewXIBFonts-Prefix.pch */, + CDF29B2F1755845400314E32 /* Default.png */, + CDF29B311755845400314E32 /* Default@2x.png */, + CDF29B331755845400314E32 /* Default-568h@2x.png */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + CDF29B191755845400314E32 /* SplitViewXIBFonts */ = { + isa = PBXNativeTarget; + buildConfigurationList = CDF29B431755845400314E32 /* Build configuration list for PBXNativeTarget "SplitViewXIBFonts" */; + buildPhases = ( + CDF29B161755845400314E32 /* Sources */, + CDF29B171755845400314E32 /* Frameworks */, + CDF29B181755845400314E32 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SplitViewXIBFonts; + productName = SplitViewXIBFonts; + productReference = CDF29B1A1755845400314E32 /* SplitViewXIBFonts.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + CDF29B121755845400314E32 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0460; + ORGANIZATIONNAME = "mo khan"; + }; + buildConfigurationList = CDF29B151755845400314E32 /* Build configuration list for PBXProject "SplitViewXIBFonts" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = CDF29B111755845400314E32; + productRefGroup = CDF29B1B1755845400314E32 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CDF29B191755845400314E32 /* SplitViewXIBFonts */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + CDF29B181755845400314E32 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CDF29B281755845400314E32 /* InfoPlist.strings in Resources */, + CDF29B301755845400314E32 /* Default.png in Resources */, + CDF29B321755845400314E32 /* Default@2x.png in Resources */, + CDF29B341755845400314E32 /* Default-568h@2x.png in Resources */, + CDF29B3D1755845400314E32 /* MasterViewController.xib in Resources */, + CDF29B401755845400314E32 /* DetailViewController.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + CDF29B161755845400314E32 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CDF29B2A1755845400314E32 /* main.m in Sources */, + CDF29B2E1755845400314E32 /* AppDelegate.m in Sources */, + CDF29B371755845400314E32 /* MasterViewController.m in Sources */, + CDF29B3A1755845400314E32 /* DetailViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + CDF29B261755845400314E32 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + CDF29B271755845400314E32 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + CDF29B3B1755845400314E32 /* MasterViewController.xib */ = { + isa = PBXVariantGroup; + children = ( + CDF29B3C1755845400314E32 /* en */, + ); + name = MasterViewController.xib; + sourceTree = ""; + }; + CDF29B3E1755845400314E32 /* DetailViewController.xib */ = { + isa = PBXVariantGroup; + children = ( + CDF29B3F1755845400314E32 /* en */, + ); + name = DetailViewController.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + CDF29B411755845400314E32 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + 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_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = 2; + }; + name = Debug; + }; + CDF29B421755845400314E32 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = 2; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + CDF29B441755845400314E32 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "SplitViewXIBFonts/SplitViewXIBFonts-Prefix.pch"; + INFOPLIST_FILE = "SplitViewXIBFonts/SplitViewXIBFonts-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + CDF29B451755845400314E32 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "SplitViewXIBFonts/SplitViewXIBFonts-Prefix.pch"; + INFOPLIST_FILE = "SplitViewXIBFonts/SplitViewXIBFonts-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + CDF29B151755845400314E32 /* Build configuration list for PBXProject "SplitViewXIBFonts" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CDF29B411755845400314E32 /* Debug */, + CDF29B421755845400314E32 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CDF29B431755845400314E32 /* Build configuration list for PBXNativeTarget "SplitViewXIBFonts" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CDF29B441755845400314E32 /* Debug */, + CDF29B451755845400314E32 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = CDF29B121755845400314E32 /* Project object */; +} diff --git a/SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..fc870db --- /dev/null +++ b/SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate b/SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..6d2a00a Binary files /dev/null and b/SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/SplitViewXIBFonts.xcscheme b/SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/SplitViewXIBFonts.xcscheme new file mode 100644 index 0000000..003141b --- /dev/null +++ b/SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/SplitViewXIBFonts.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist b/SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..9eab6d1 --- /dev/null +++ b/SplitViewXIBFonts/SplitViewXIBFonts.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + SplitViewXIBFonts.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + CDF29B191755845400314E32 + + primary + + + + + diff --git a/SplitViewXIBFonts/SplitViewXIBFonts/AppDelegate.h b/SplitViewXIBFonts/SplitViewXIBFonts/AppDelegate.h new file mode 100644 index 0000000..0e619d8 --- /dev/null +++ b/SplitViewXIBFonts/SplitViewXIBFonts/AppDelegate.h @@ -0,0 +1,17 @@ +// +// AppDelegate.h +// SplitViewXIBFonts +// +// Created by mo khan on 2013-05-28. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@property (strong, nonatomic) UISplitViewController *splitViewController; + +@end diff --git a/SplitViewXIBFonts/SplitViewXIBFonts/AppDelegate.m b/SplitViewXIBFonts/SplitViewXIBFonts/AppDelegate.m new file mode 100644 index 0000000..2d16804 --- /dev/null +++ b/SplitViewXIBFonts/SplitViewXIBFonts/AppDelegate.m @@ -0,0 +1,65 @@ +// +// AppDelegate.m +// SplitViewXIBFonts +// +// Created by mo khan on 2013-05-28. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "AppDelegate.h" + +#import "MasterViewController.h" + +#import "DetailViewController.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + // Override point for customization after application launch. + + MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil]; + UINavigationController *masterNavigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController]; + + DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil]; + UINavigationController *detailNavigationController = [[UINavigationController alloc] initWithRootViewController:detailViewController]; + + masterViewController.detailViewController = detailViewController; + + self.splitViewController = [[UISplitViewController alloc] init]; + self.splitViewController.delegate = detailViewController; + self.splitViewController.viewControllers = @[masterNavigationController, detailNavigationController]; + self.window.rootViewController = self.splitViewController; + [self.window makeKeyAndVisible]; + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + +@end diff --git a/SplitViewXIBFonts/SplitViewXIBFonts/Default-568h@2x.png b/SplitViewXIBFonts/SplitViewXIBFonts/Default-568h@2x.png new file mode 100644 index 0000000..0891b7a Binary files /dev/null and b/SplitViewXIBFonts/SplitViewXIBFonts/Default-568h@2x.png differ diff --git a/SplitViewXIBFonts/SplitViewXIBFonts/Default.png b/SplitViewXIBFonts/SplitViewXIBFonts/Default.png new file mode 100644 index 0000000..4c8ca6f Binary files /dev/null and b/SplitViewXIBFonts/SplitViewXIBFonts/Default.png differ diff --git a/SplitViewXIBFonts/SplitViewXIBFonts/Default@2x.png b/SplitViewXIBFonts/SplitViewXIBFonts/Default@2x.png new file mode 100644 index 0000000..35b84cf Binary files /dev/null and b/SplitViewXIBFonts/SplitViewXIBFonts/Default@2x.png differ diff --git a/SplitViewXIBFonts/SplitViewXIBFonts/DetailViewController.h b/SplitViewXIBFonts/SplitViewXIBFonts/DetailViewController.h new file mode 100644 index 0000000..808ab3b --- /dev/null +++ b/SplitViewXIBFonts/SplitViewXIBFonts/DetailViewController.h @@ -0,0 +1,16 @@ +// +// DetailViewController.h +// SplitViewXIBFonts +// +// Created by mo khan on 2013-05-28. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@interface DetailViewController : UIViewController + +@property (strong, nonatomic) id detailItem; + +@property (weak, nonatomic) IBOutlet UILabel *detailDescriptionLabel; +@end diff --git a/SplitViewXIBFonts/SplitViewXIBFonts/DetailViewController.m b/SplitViewXIBFonts/SplitViewXIBFonts/DetailViewController.m new file mode 100644 index 0000000..631105e --- /dev/null +++ b/SplitViewXIBFonts/SplitViewXIBFonts/DetailViewController.m @@ -0,0 +1,81 @@ +// +// DetailViewController.m +// SplitViewXIBFonts +// +// Created by mo khan on 2013-05-28. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "DetailViewController.h" + +@interface DetailViewController () +@property (strong, nonatomic) UIPopoverController *masterPopoverController; +- (void)configureView; +@end + +@implementation DetailViewController + +#pragma mark - Managing the detail item + +- (void)setDetailItem:(id)newDetailItem +{ + if (_detailItem != newDetailItem) { + _detailItem = newDetailItem; + + // Update the view. + [self configureView]; + } + + if (self.masterPopoverController != nil) { + [self.masterPopoverController dismissPopoverAnimated:YES]; + } +} + +- (void)configureView +{ + // Update the user interface for the detail item. + + if (self.detailItem) { + self.detailDescriptionLabel.text = [self.detailItem description]; + } +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. + [self configureView]; +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + self.title = NSLocalizedString(@"Detail", @"Detail"); + } + return self; +} + +#pragma mark - Split view + +- (void)splitViewController:(UISplitViewController *)splitController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController +{ + barButtonItem.title = NSLocalizedString(@"Master", @"Master"); + [self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES]; + self.masterPopoverController = popoverController; +} + +- (void)splitViewController:(UISplitViewController *)splitController willShowViewController:(UIViewController *)viewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem +{ + // Called when the view is shown again in the split view, invalidating the button and popover controller. + [self.navigationItem setLeftBarButtonItem:nil animated:YES]; + self.masterPopoverController = nil; +} + +@end diff --git a/SplitViewXIBFonts/SplitViewXIBFonts/MasterViewController.h b/SplitViewXIBFonts/SplitViewXIBFonts/MasterViewController.h new file mode 100644 index 0000000..9196e49 --- /dev/null +++ b/SplitViewXIBFonts/SplitViewXIBFonts/MasterViewController.h @@ -0,0 +1,20 @@ +// +// MasterViewController.h +// SplitViewXIBFonts +// +// Created by mo khan on 2013-05-28. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +@class DetailViewController; + +@interface MasterViewController : UITableViewController + +@property (strong, nonatomic) DetailViewController *detailViewController; +@property float fontSize; +@property (strong, nonatomic) NSArray * arrFontNames; +@property (strong, nonatomic) NSMutableArray * arrFontNamesIndex; +@property (strong, nonatomic) NSMutableArray * arrSections; +@end diff --git a/SplitViewXIBFonts/SplitViewXIBFonts/MasterViewController.m b/SplitViewXIBFonts/SplitViewXIBFonts/MasterViewController.m new file mode 100644 index 0000000..0eae055 --- /dev/null +++ b/SplitViewXIBFonts/SplitViewXIBFonts/MasterViewController.m @@ -0,0 +1,130 @@ +// +// MasterViewController.m +// SplitViewXIBFonts +// +// Created by mo khan on 2013-05-28. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import "MasterViewController.h" + +#import "DetailViewController.h" + +@implementation MasterViewController + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + self.title = @"Fonts"; + self.clearsSelectionOnViewWillAppear = NO; + self.contentSizeForViewInPopover = CGSizeMake(320.0, 600.0); + } + return self; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + NSArray * arrFamilyNames = [UIFont familyNames]; + NSMutableArray * arrMutableFontNames = [[NSMutableArray alloc] init]; + self.arrFontNamesIndex = [[NSMutableArray alloc] init]; + + for (NSString * familyName in arrFamilyNames) + { + [arrMutableFontNames addObjectsFromArray:[UIFont fontNamesForFamilyName:familyName]]; + } + + [arrMutableFontNames sortUsingSelector:@selector(localizedCaseInsensitiveCompare:)]; + NSLog(@"%@", arrMutableFontNames); + + // Do any additional setup after loading the view, typically from a nib. + self.navigationItem.leftBarButtonItem = self.editButtonItem; + + UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertNewObject:)]; + self.navigationItem.rightBarButtonItem = addButton; +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +- (void)insertNewObject:(id)sender +{ +// if (!_objects) { +// _objects = [[NSMutableArray alloc] init]; +// } +// [_objects insertObject:[NSDate date] atIndex:0]; + NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; + [self.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; +} + +#pragma mark - Table View + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ +// return _objects.count; +} + +// Customize the appearance of table view cells. +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + static NSString *CellIdentifier = @"Cell"; + + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; + if (cell == nil) { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; + } + + +// NSDate *object = _objects[indexPath.row]; +// cell.textLabel.text = [object description]; + return cell; +} + +- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath +{ + // Return NO if you do not want the specified item to be editable. + return YES; +} + +- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath +{ + if (editingStyle == UITableViewCellEditingStyleDelete) { +// [_objects removeObjectAtIndex:indexPath.row]; + [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; + } else if (editingStyle == UITableViewCellEditingStyleInsert) { + // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view. + } +} + +/* +// Override to support rearranging the table view. +- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath +{ +} +*/ + +/* +// Override to support conditional rearranging of the table view. +- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath +{ + // Return NO if you do not want the item to be re-orderable. + return YES; +} +*/ + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath +{ +// NSDate *object = _objects[indexPath.row]; +// self.detailViewController.detailItem = object; +} + +@end diff --git a/SplitViewXIBFonts/SplitViewXIBFonts/SplitViewXIBFonts-Info.plist b/SplitViewXIBFonts/SplitViewXIBFonts/SplitViewXIBFonts-Info.plist new file mode 100644 index 0000000..f5f1157 --- /dev/null +++ b/SplitViewXIBFonts/SplitViewXIBFonts/SplitViewXIBFonts-Info.plist @@ -0,0 +1,55 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + mokhan.ca.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIRequiredDeviceCapabilities + + armv7 + + UIStatusBarTintParameters + + UINavigationBar + + Style + UIBarStyleDefault + Translucent + + + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/SplitViewXIBFonts/SplitViewXIBFonts/SplitViewXIBFonts-Prefix.pch b/SplitViewXIBFonts/SplitViewXIBFonts/SplitViewXIBFonts-Prefix.pch new file mode 100644 index 0000000..e088b96 --- /dev/null +++ b/SplitViewXIBFonts/SplitViewXIBFonts/SplitViewXIBFonts-Prefix.pch @@ -0,0 +1,14 @@ +// +// Prefix header for all source files of the 'SplitViewXIBFonts' target in the 'SplitViewXIBFonts' project +// + +#import + +#ifndef __IPHONE_4_0 +#warning "This project uses features only available in iOS SDK 4.0 and later." +#endif + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/SplitViewXIBFonts/SplitViewXIBFonts/en.lproj/DetailViewController.xib b/SplitViewXIBFonts/SplitViewXIBFonts/en.lproj/DetailViewController.xib new file mode 100644 index 0000000..4527a77 --- /dev/null +++ b/SplitViewXIBFonts/SplitViewXIBFonts/en.lproj/DetailViewController.xib @@ -0,0 +1,223 @@ + + + + 1536 + 12A206j + 2519 + 1172.1 + 613.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 1856 + + + IBNSLayoutConstraint + IBProxyObject + IBUILabel + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBIPadFramework + + + IBFirstResponder + IBIPadFramework + + + + 274 + + + + 298 + {{20, 495}, {728, 18}} + + + + 3 + MQA + + YES + NO + IBIPadFramework + + 1 + 10 + Detail view content goes here + + 1 + MCAwIDAAA + + 1 + + 1 + 4 + + + Helvetica + 14 + 16 + + + + {{0, 20}, {768, 1004}} + + + + NO + + 2 + + IBIPadFramework + + + + + + + view + + + + 12 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 8 + + + + + 10 + 0 + + 10 + 1 + + 0.0 + + 1000 + + 5 + 22 + 2 + + + + 6 + 0 + + 6 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 5 + 0 + + 5 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + + + + 81 + + + + + + 94 + + + + + 97 + + + + + 98 + + + + + + + DetailViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 98 + + + 0 + IBIPadFramework + YES + 3 + YES + 1856 + + diff --git a/SplitViewXIBFonts/SplitViewXIBFonts/en.lproj/InfoPlist.strings b/SplitViewXIBFonts/SplitViewXIBFonts/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/SplitViewXIBFonts/SplitViewXIBFonts/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/SplitViewXIBFonts/SplitViewXIBFonts/en.lproj/MasterViewController.xib b/SplitViewXIBFonts/SplitViewXIBFonts/en.lproj/MasterViewController.xib new file mode 100644 index 0000000..6f143d6 --- /dev/null +++ b/SplitViewXIBFonts/SplitViewXIBFonts/en.lproj/MasterViewController.xib @@ -0,0 +1,152 @@ + + + + 1536 + 12A206j + 2519 + 1172.1 + 613.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 1856 + + + IBProxyObject + IBUITableView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBIPadFramework + + + IBFirstResponder + IBIPadFramework + + + + 274 + {{0, 20}, {320, 832}} + + + + 3 + MQA + + YES + + 2 + + + IBUISplitViewMasterSimulatedSizeMetrics + + YES + + + + + + {320, 852} + {320, 768} + + + IBIPadFramework + Master + IBUISplitViewController + + IBUISplitViewControllerContentSizeLocation + IBUISplitViewControllerContentSizeLocationMaster + + + IBIPadFramework + YES + 1 + 0 + YES + 44 + 22 + 22 + + + + + + + view + + + + 3 + + + + dataSource + + + + 4 + + + + delegate + + + + 5 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 2 + + + + + + + MasterViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 5 + + + 0 + IBIPadFramework + YES + 3 + YES + 1856 + + diff --git a/SplitViewXIBFonts/SplitViewXIBFonts/main.m b/SplitViewXIBFonts/SplitViewXIBFonts/main.m new file mode 100644 index 0000000..1780181 --- /dev/null +++ b/SplitViewXIBFonts/SplitViewXIBFonts/main.m @@ -0,0 +1,18 @@ +// +// main.m +// SplitViewXIBFonts +// +// Created by mo khan on 2013-05-28. +// Copyright (c) 2013 mo khan. All rights reserved. +// + +#import + +#import "AppDelegate.h" + +int main(int argc, char *argv[]) +{ + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} -- cgit v1.2.3