├── .DS_Store
├── QRCoder
├── .DS_Store
├── QRCoder.xcodeproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── arun.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── arun.xcuserdatad
│ │ ├── xcschemes
│ │ ├── xcschememanagement.plist
│ │ └── QRCoder.xcscheme
│ │ └── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
└── QRCoder
│ ├── ViewController.swift
│ ├── ViewControllers
│ └── OpenQRVC.swift
│ ├── Assets.xcassets
│ └── AppIcon.appiconset
│ │ └── Contents.json
│ ├── Info.plist
│ └── AppDelegate.swift
├── ProtectionCD
├── .DS_Store
├── ProtectionCD.xcodeproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── arun.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── arun.xcuserdatad
│ │ └── xcschemes
│ │ ├── xcschememanagement.plist
│ │ └── ProtectionCD.xcscheme
└── ProtectionCD
│ ├── ViewController.h
│ ├── ProtectionCD.xcdatamodeld
│ ├── .xccurrentversion
│ └── ProtectionCD.xcdatamodel
│ │ └── contents
│ ├── main.m
│ ├── ViewController.m
│ ├── AppDelegate.h
│ ├── Assets.xcassets
│ └── AppIcon.appiconset
│ │ └── Contents.json
│ ├── Base.lproj
│ ├── Main.storyboard
│ └── LaunchScreen.storyboard
│ └── Info.plist
├── SwipingView
├── .DS_Store
├── SwipingView.xcodeproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── arun.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── arun.xcuserdatad
│ │ └── xcschemes
│ │ ├── xcschememanagement.plist
│ │ └── SwipingView.xcscheme
├── README.md
└── SwipingView
│ ├── Assets.xcassets
│ └── AppIcon.appiconset
│ │ └── Contents.json
│ ├── Info.plist
│ ├── Base.lproj
│ └── LaunchScreen.storyboard
│ ├── AppDelegate.swift
│ └── ViewController.swift
├── AdaptiveUITextView
├── .DS_Store
├── README.md
├── AdaptiveUITextView.xcodeproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── arun.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── arun.xcuserdatad
│ │ └── xcschemes
│ │ ├── xcschememanagement.plist
│ │ └── AdaptiveUITextView.xcscheme
└── AdaptiveUITextView
│ ├── ViewController.swift
│ ├── Assets.xcassets
│ └── AppIcon.appiconset
│ │ └── Contents.json
│ ├── Info.plist
│ ├── Base.lproj
│ └── LaunchScreen.storyboard
│ └── AppDelegate.swift
├── ImageMagic
├── ImageMagic
│ ├── Assets.xcassets
│ │ ├── Contents.json
│ │ ├── All.imageset
│ │ │ ├── Delete_100.png
│ │ │ ├── Delete_150.png
│ │ │ ├── Delete_50.png
│ │ │ └── Contents.json
│ │ ├── 1xImage.imageset
│ │ │ ├── Delete_50.png
│ │ │ └── Contents.json
│ │ ├── 2xImage.imageset
│ │ │ ├── Delete_100.png
│ │ │ └── Contents.json
│ │ ├── 3xImage.imageset
│ │ │ ├── Delete_150.png
│ │ │ └── Contents.json
│ │ ├── VectorPDF1x.imageset
│ │ │ ├── Delete.pdf
│ │ │ └── Contents.json
│ │ ├── DeleteFill.imageset
│ │ │ ├── Delete_100.png
│ │ │ ├── Delete_150.png
│ │ │ ├── Delete_50.png
│ │ │ └── Contents.json
│ │ ├── VectorPDF2x.imageset
│ │ │ ├── Delete2x.pdf
│ │ │ └── Contents.json
│ │ ├── VectorPDF3x.imageset
│ │ │ ├── Delete3x.pdf
│ │ │ └── Contents.json
│ │ ├── Image.imageset
│ │ │ └── Contents.json
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── ViewController.swift
│ ├── Info.plist
│ ├── Base.lproj
│ │ └── LaunchScreen.storyboard
│ └── AppDelegate.swift
└── ImageMagic.xcodeproj
│ ├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ │ └── arun.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ └── arun.xcuserdatad
│ └── xcschemes
│ ├── xcschememanagement.plist
│ └── ImageMagic.xcscheme
├── ScrollDemo
├── ScrollDemo
│ ├── Assets.xcassets
│ │ ├── Contents.json
│ │ ├── kiwi.imageset
│ │ │ ├── kiwi.jpeg
│ │ │ └── Contents.json
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── ScrollDemo.xcdatamodeld
│ │ ├── .xccurrentversion
│ │ └── ScrollDemo.xcdatamodel
│ │ │ └── contents
│ ├── ViewController.swift
│ ├── Info.plist
│ └── Base.lproj
│ │ └── LaunchScreen.storyboard
└── ScrollDemo.xcodeproj
│ ├── project.xcworkspace
│ └── contents.xcworkspacedata
│ └── xcuserdata
│ └── arun.xcuserdatad
│ └── xcschemes
│ └── ScrollDemo.xcscheme
├── TextViewLikeWhatsApp
├── TextViewLikeWhatsApp
│ ├── Assets.xcassets
│ │ ├── Contents.json
│ │ ├── AppIcon-1.appiconset
│ │ │ ├── Icon-App-29x29@1x.png
│ │ │ ├── Icon-App-29x29@2x.png
│ │ │ ├── Icon-App-29x29@3x.png
│ │ │ ├── Icon-App-40x40@1x.png
│ │ │ ├── Icon-App-40x40@2x.png
│ │ │ ├── Icon-App-40x40@3x.png
│ │ │ ├── Icon-App-60x60@1x.png
│ │ │ ├── Icon-App-60x60@2x.png
│ │ │ ├── Icon-App-60x60@3x.png
│ │ │ ├── Icon-App-76x76@1x.png
│ │ │ ├── Icon-App-76x76@2x.png
│ │ │ ├── Icon-App-76x76@3x.png
│ │ │ ├── Icon-App-83.5x83.5@2x.png
│ │ │ └── Contents.json
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Next.png
│ ├── Next@2x.png
│ ├── Chat_Bubble_Green_1.png
│ ├── Settings.bundle
│ │ ├── en.lproj
│ │ │ └── Root.strings
│ │ └── Root.plist
│ ├── Info.plist
│ ├── Base.lproj
│ │ └── LaunchScreen.storyboard
│ └── AppDelegate.swift
└── TextViewLikeWhatsApp.xcodeproj
│ ├── xcuserdata
│ ├── alex.xcuserdatad
│ │ ├── xcdebugger
│ │ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ │ ├── xcschememanagement.plist
│ │ │ └── TextViewLikeWhatsApp.xcscheme
│ ├── arun.xcuserdatad
│ │ ├── xcschemes
│ │ │ ├── xcschememanagement.plist
│ │ │ └── TextViewLikeWhatsApp.xcscheme
│ │ └── xcdebugger
│ │ │ └── Breakpoints_v2.xcbkptlist
│ └── Inquisitoralex90741qzimT.xcuserdatad
│ │ └── xcschemes
│ │ ├── xcschememanagement.plist
│ │ └── TextViewLikeWhatsApp.xcscheme
│ └── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ ├── alex.xcuserdatad
│ └── UserInterfaceState.xcuserstate
│ ├── arun.xcuserdatad
│ └── UserInterfaceState.xcuserstate
│ └── Inquisitoralex90741qzimT.xcuserdatad
│ └── UserInterfaceState.xcuserstate
├── AdaptiveUILabel
├── README.md
├── AdaptiveUILabel.xcodeproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── arun.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── arun.xcuserdatad
│ │ └── xcschemes
│ │ ├── xcschememanagement.plist
│ │ └── AdaptiveUILabel.xcscheme
└── AdaptiveUILabel
│ ├── ViewController.swift
│ ├── Assets.xcassets
│ └── AppIcon.appiconset
│ │ └── Contents.json
│ ├── Info.plist
│ ├── Base.lproj
│ └── LaunchScreen.storyboard
│ └── AppDelegate.swift
├── ExpandableTableViewSections
├── ExpandableTableViewSections
│ ├── down-arrow.png
│ ├── right-arrow.png
│ ├── down-arrow@2x.png
│ ├── right-arrow@2x.png
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Info.plist
│ ├── Base.lproj
│ │ └── LaunchScreen.storyboard
│ └── AppDelegate.swift
└── ExpandableTableViewSections.xcodeproj
│ ├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ │ └── arun.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ └── arun.xcuserdatad
│ └── xcschemes
│ └── xcschememanagement.plist
├── TimerApp
├── TimerApp.xcodeproj
│ ├── xcuserdata
│ │ └── arun.xcuserdatad
│ │ │ ├── xcdebugger
│ │ │ └── Breakpoints_v2.xcbkptlist
│ │ │ └── xcschemes
│ │ │ └── TimerApp.xcscheme
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
└── TimerApp
│ ├── Assets.xcassets
│ └── AppIcon.appiconset
│ │ └── Contents.json
│ ├── Info.plist
│ ├── Base.lproj
│ └── LaunchScreen.storyboard
│ └── AppDelegate.swift
├── TypeAliasDemo
├── TypeAliasDemo.xcodeproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ └── xcuserdata
│ │ └── arun.xcuserdatad
│ │ └── xcschemes
│ │ └── TypeAliasDemo.xcscheme
└── TypeAliasDemo
│ ├── TypeAliasDemo.xcdatamodeld
│ ├── .xccurrentversion
│ └── TypeAliasDemo.xcdatamodel
│ │ └── contents
│ ├── ViewController.swift
│ ├── Assets.xcassets
│ └── AppIcon.appiconset
│ │ └── Contents.json
│ ├── Info.plist
│ └── Base.lproj
│ └── LaunchScreen.storyboard
├── CreatingUIPopovers
├── CreatingUIPopovers.xcodeproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── arun.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── arun.xcuserdatad
│ │ └── xcschemes
│ │ ├── xcschememanagement.plist
│ │ └── CreatingUIPopovers.xcscheme
├── README.md
└── CreatingUIPopovers
│ ├── Assets.xcassets
│ └── AppIcon.appiconset
│ │ └── Contents.json
│ ├── PopoverController.swift
│ ├── Info.plist
│ ├── Base.lproj
│ └── LaunchScreen.storyboard
│ ├── AppDelegate.swift
│ └── ViewController.swift
└── ExpandTableCellDemo
├── ExpandTableCellDemo.xcodeproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ │ └── arun.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
└── xcuserdata
│ └── arun.xcuserdatad
│ └── xcschemes
│ ├── xcschememanagement.plist
│ └── ExpandTableCellDemo.xcscheme
├── ExpandTableCellDemo
├── customCell.swift
├── Assets.xcassets
│ └── AppIcon.appiconset
│ │ └── Contents.json
├── Info.plist
├── Base.lproj
│ └── LaunchScreen.storyboard
└── AppDelegate.swift
└── README.md
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/.DS_Store
--------------------------------------------------------------------------------
/QRCoder/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/QRCoder/.DS_Store
--------------------------------------------------------------------------------
/ProtectionCD/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ProtectionCD/.DS_Store
--------------------------------------------------------------------------------
/SwipingView/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/SwipingView/.DS_Store
--------------------------------------------------------------------------------
/AdaptiveUITextView/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/AdaptiveUITextView/.DS_Store
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/ScrollDemo/ScrollDemo/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Next.png
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Next@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Next@2x.png
--------------------------------------------------------------------------------
/ScrollDemo/ScrollDemo/Assets.xcassets/kiwi.imageset/kiwi.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ScrollDemo/ScrollDemo/Assets.xcassets/kiwi.imageset/kiwi.jpeg
--------------------------------------------------------------------------------
/AdaptiveUILabel/README.md:
--------------------------------------------------------------------------------
1 | #This Sample shows how to create a Self Sizing UILabel using Autolayout
2 |
3 | Watch the tutorial video here:
4 |
5 | https://youtu.be/BnD2XMqDhfI
6 |
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/All.imageset/Delete_100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ImageMagic/ImageMagic/Assets.xcassets/All.imageset/Delete_100.png
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/All.imageset/Delete_150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ImageMagic/ImageMagic/Assets.xcassets/All.imageset/Delete_150.png
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/All.imageset/Delete_50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ImageMagic/ImageMagic/Assets.xcassets/All.imageset/Delete_50.png
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Chat_Bubble_Green_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Chat_Bubble_Green_1.png
--------------------------------------------------------------------------------
/ExpandableTableViewSections/ExpandableTableViewSections/down-arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ExpandableTableViewSections/ExpandableTableViewSections/down-arrow.png
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/1xImage.imageset/Delete_50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ImageMagic/ImageMagic/Assets.xcassets/1xImage.imageset/Delete_50.png
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/2xImage.imageset/Delete_100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ImageMagic/ImageMagic/Assets.xcassets/2xImage.imageset/Delete_100.png
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/3xImage.imageset/Delete_150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ImageMagic/ImageMagic/Assets.xcassets/3xImage.imageset/Delete_150.png
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/VectorPDF1x.imageset/Delete.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ImageMagic/ImageMagic/Assets.xcassets/VectorPDF1x.imageset/Delete.pdf
--------------------------------------------------------------------------------
/ExpandableTableViewSections/ExpandableTableViewSections/right-arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ExpandableTableViewSections/ExpandableTableViewSections/right-arrow.png
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/DeleteFill.imageset/Delete_100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ImageMagic/ImageMagic/Assets.xcassets/DeleteFill.imageset/Delete_100.png
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/DeleteFill.imageset/Delete_150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ImageMagic/ImageMagic/Assets.xcassets/DeleteFill.imageset/Delete_150.png
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/DeleteFill.imageset/Delete_50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ImageMagic/ImageMagic/Assets.xcassets/DeleteFill.imageset/Delete_50.png
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/VectorPDF2x.imageset/Delete2x.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ImageMagic/ImageMagic/Assets.xcassets/VectorPDF2x.imageset/Delete2x.pdf
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/VectorPDF3x.imageset/Delete3x.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ImageMagic/ImageMagic/Assets.xcassets/VectorPDF3x.imageset/Delete3x.pdf
--------------------------------------------------------------------------------
/ExpandableTableViewSections/ExpandableTableViewSections/down-arrow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ExpandableTableViewSections/ExpandableTableViewSections/down-arrow@2x.png
--------------------------------------------------------------------------------
/ExpandableTableViewSections/ExpandableTableViewSections/right-arrow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ExpandableTableViewSections/ExpandableTableViewSections/right-arrow@2x.png
--------------------------------------------------------------------------------
/TimerApp/TimerApp.xcodeproj/xcuserdata/arun.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Settings.bundle/en.lproj/Root.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Settings.bundle/en.lproj/Root.strings
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp.xcodeproj/xcuserdata/alex.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/AdaptiveUITextView/README.md:
--------------------------------------------------------------------------------
1 | #This Sample shows how to create a Self Sizing UITextView using Autolayout
2 |
3 | Watch the tutorial video here:
4 |
5 | Part 1: https://youtu.be/w7Aq-jeejyk
6 |
7 | Part 2: https://youtu.be/tROCw5tZsn8
8 |
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/Image.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "version" : 1,
9 | "author" : "xcode"
10 | }
11 | }
--------------------------------------------------------------------------------
/QRCoder/QRCoder.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-60x60@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-60x60@1x.png
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-76x76@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-76x76@3x.png
--------------------------------------------------------------------------------
/TimerApp/TimerApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/QRCoder/QRCoder.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/QRCoder/QRCoder.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/ScrollDemo/ScrollDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SwipingView/SwipingView.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/ProtectionCD/ProtectionCD.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/TypeAliasDemo/TypeAliasDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ImageMagic/ImageMagic.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/AdaptiveUILabel/AdaptiveUILabel.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SwipingView/SwipingView.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/SwipingView/SwipingView.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/AdaptiveUITextView/AdaptiveUITextView.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/CreatingUIPopovers/CreatingUIPopovers.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ProtectionCD/ProtectionCD.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ProtectionCD/ProtectionCD.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/ExpandTableCellDemo/ExpandTableCellDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AdaptiveUILabel/AdaptiveUILabel.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/AdaptiveUILabel/AdaptiveUILabel.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AdaptiveUITextView/AdaptiveUITextView.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/AdaptiveUITextView/AdaptiveUITextView.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/CreatingUIPopovers/CreatingUIPopovers.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/CreatingUIPopovers/CreatingUIPopovers.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/CreatingUIPopovers/README.md:
--------------------------------------------------------------------------------
1 | #This Sample shows how to create a UIPopover for both iPad and iPhone
2 |
3 | You can watch the video here:
4 |
5 | Part 1: https://www.youtube.com/watch?v=hZvqKmQuHfo
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/ExpandTableCellDemo/ExpandTableCellDemo.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ExpandTableCellDemo/ExpandTableCellDemo.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/ExpandableTableViewSections/ExpandableTableViewSections.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp.xcodeproj/project.xcworkspace/xcuserdata/alex.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp.xcodeproj/project.xcworkspace/xcuserdata/alex.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/ProtectionCD/ProtectionCD/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // ProtectionCD
4 | //
5 | // Created by Arun on 3/3/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/ExpandableTableViewSections/ExpandableTableViewSections.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/ExpandableTableViewSections/ExpandableTableViewSections.xcodeproj/project.xcworkspace/xcuserdata/arun.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp.xcodeproj/project.xcworkspace/xcuserdata/Inquisitoralex90741qzimT.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quantumarun/Demos/HEAD/TextViewLikeWhatsApp/TextViewLikeWhatsApp.xcodeproj/project.xcworkspace/xcuserdata/Inquisitoralex90741qzimT.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/ScrollDemo/ScrollDemo/ScrollDemo.xcdatamodeld/.xccurrentversion:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | _XCCurrentVersionName
6 | ScrollDemo.xcdatamodel
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/VectorPDF1x.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "Delete.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
--------------------------------------------------------------------------------
/ProtectionCD/ProtectionCD/ProtectionCD.xcdatamodeld/.xccurrentversion:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | _XCCurrentVersionName
6 | ProtectionCD.xcdatamodel
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/VectorPDF2x.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "Delete2x.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/VectorPDF3x.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "Delete3x.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
--------------------------------------------------------------------------------
/TypeAliasDemo/TypeAliasDemo/TypeAliasDemo.xcdatamodeld/.xccurrentversion:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | _XCCurrentVersionName
6 | TypeAliasDemo.xcdatamodel
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ScrollDemo/ScrollDemo/ScrollDemo.xcdatamodeld/ScrollDemo.xcdatamodel/contents:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/TypeAliasDemo/TypeAliasDemo/TypeAliasDemo.xcdatamodeld/TypeAliasDemo.xcdatamodel/contents:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/SwipingView/README.md:
--------------------------------------------------------------------------------
1 | #This Tutorial demostrates how to add a swipe gesture to UIView and animate the UILabel change in the swipe direction
2 |
3 | Watch the Tutorial Video at:
4 |
5 | Part 1: https://youtu.be/g4ONKzaEQ2E
6 |
7 | Part 2: https://youtu.be/Jp9jTWUuj10
8 |
9 | 
10 |
--------------------------------------------------------------------------------
/ProtectionCD/ProtectionCD/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // ProtectionCD
4 | //
5 | // Created by Arun on 3/3/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "AppDelegate.h"
11 |
12 | int main(int argc, char * argv[]) {
13 | @autoreleasepool {
14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/ProtectionCD/ProtectionCD/ProtectionCD.xcdatamodeld/ProtectionCD.xcdatamodel/contents:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/ScrollDemo/ScrollDemo/Assets.xcassets/kiwi.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "kiwi.jpeg",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/1xImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "Delete_50.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | },
21 | "properties" : {
22 | "template-rendering-intent" : "template"
23 | }
24 | }
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/2xImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "Delete_100.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | },
21 | "properties" : {
22 | "template-rendering-intent" : "template"
23 | }
24 | }
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/3xImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x"
10 | },
11 | {
12 | "idiom" : "universal",
13 | "filename" : "Delete_150.png",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | },
21 | "properties" : {
22 | "template-rendering-intent" : "template"
23 | }
24 | }
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/All.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "Delete_50.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "Delete_100.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "Delete_150.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | },
23 | "properties" : {
24 | "template-rendering-intent" : "template"
25 | }
26 | }
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/DeleteFill.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "Delete_50.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "Delete_100.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "Delete_150.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | },
23 | "properties" : {
24 | "template-rendering-intent" : "template"
25 | }
26 | }
--------------------------------------------------------------------------------
/QRCoder/QRCoder/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // QRCoder
4 | //
5 | // Created by Arun on 3/21/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class ViewController: UIViewController {
12 |
13 | override func viewDidLoad() {
14 | super.viewDidLoad()
15 | // Do any additional setup after loading the view, typically from a nib.
16 | }
17 |
18 | override func didReceiveMemoryWarning() {
19 | super.didReceiveMemoryWarning()
20 | // Dispose of any resources that can be recreated.
21 | }
22 |
23 |
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/ProtectionCD/ProtectionCD/ViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.m
3 | // ProtectionCD
4 | //
5 | // Created by Arun on 3/3/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | #import "ViewController.h"
10 |
11 | @interface ViewController ()
12 |
13 | @end
14 |
15 | @implementation ViewController
16 |
17 | - (void)viewDidLoad {
18 | [super viewDidLoad];
19 | // Do any additional setup after loading the view, typically from a nib.
20 | }
21 |
22 | - (void)didReceiveMemoryWarning {
23 | [super didReceiveMemoryWarning];
24 | // Dispose of any resources that can be recreated.
25 | }
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/QRCoder/QRCoder.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | QRCoder.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | F4AD5DBB1C9FF6B30085BC64
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | ImageMagic.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | F44C9C1F1E740C2100AD49B0
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/ProtectionCD/ProtectionCD.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | ProtectionCD.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | F4DE8F711C88214800BEF372
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/AdaptiveUILabel/AdaptiveUILabel.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | AdaptiveUILabel.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | F401E9391CE9D1BF00F663E9
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/AdaptiveUITextView/AdaptiveUITextView.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | AdaptiveUITextView.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | F4DE6ACA1CEC828700E1EC7D
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/CreatingUIPopovers/CreatingUIPopovers.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | CreatingUIPopovers.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | F4D4ABE21CF8849200715C41
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/ExpandTableCellDemo/ExpandTableCellDemo.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | ExpandTableCellDemo.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | F45728881CCDE6F700893FA6
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp.xcodeproj/xcuserdata/alex.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | TextViewLikeWhatsApp.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | FAA5BDB51D12D6B70085D4FC
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | TextViewLikeWhatsApp.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | FAA5BDB51D12D6B70085D4FC
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/ExpandableTableViewSections/ExpandableTableViewSections.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | ExpandableTableViewSections.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | F4D1211D1D4E3329008A2F5C
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp.xcodeproj/xcuserdata/Inquisitoralex90741qzimT.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | TextViewLikeWhatsApp.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | FAA5BDB51D12D6B70085D4FC
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/ProtectionCD/ProtectionCD/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // ProtectionCD
4 | //
5 | // Created by Arun on 3/3/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface AppDelegate : UIResponder
13 |
14 | @property (strong, nonatomic) UIWindow *window;
15 |
16 | @property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
17 | @property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;
18 | @property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;
19 |
20 | - (void)saveContext;
21 | - (NSURL *)applicationDocumentsDirectory;
22 |
23 |
24 | @end
25 |
26 |
--------------------------------------------------------------------------------
/QRCoder/QRCoder/ViewControllers/OpenQRVC.swift:
--------------------------------------------------------------------------------
1 | //
2 | // OpenQRVC.swift
3 | // QRCoder
4 | //
5 | // Created by Arun on 3/21/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | class OpenQRVC: UIViewController {
13 |
14 | @IBOutlet weak var qrCodeLabel: UILabel!
15 |
16 | @IBOutlet weak var qrImage: UIImageView!
17 |
18 | @IBAction func openQRBtnAction(sender: UIButton) {
19 | if let text = qrCodeLabel.text {
20 | if let qrURL:NSURL = NSURL(string:text) {
21 | let application:UIApplication = UIApplication.sharedApplication()
22 | if (application.canOpenURL(qrURL)) {
23 | application.openURL(qrURL);
24 | }
25 | }
26 | }
27 | }
28 |
29 | @IBAction func shareQRBtnAction(sender: UIButton) {
30 |
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/SwipingView/SwipingView.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | SwipingView.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 | imageview (Notification).xcscheme
13 |
14 | orderHint
15 | 2
16 |
17 | imageview.xcscheme
18 |
19 | orderHint
20 | 1
21 |
22 |
23 | SuppressBuildableAutocreation
24 |
25 | F43F7FCF1CE074CE00FA824F
26 |
27 | primary
28 |
29 |
30 | F43F7FE61CE07B8500FA824F
31 |
32 | primary
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/ScrollDemo/ScrollDemo/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // ScrollDemo
4 | //
5 | // Created by Arun on 4/19/17.
6 | // Copyright © 2017 Arun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class ViewController: UIViewController {
12 |
13 |
14 | /*
15 | //Constraints for Label
16 | Leading = 10, Trailing = 10 , Top to NextButton = 23, bottom from TextView = 10
17 | //Constraints for TextView
18 | Leading = 10, Trailing = 10 , Top to Label = 10, bottom from ImageView = 10
19 | //Constraints for ImageView
20 | Center Horizontally , Top to TextView = 10, Width = 300, Height = 300
21 | */
22 | override func viewDidLoad() {
23 | super.viewDidLoad()
24 | // Do any additional setup after loading the view, typically from a nib.
25 |
26 | }
27 |
28 | override func didReceiveMemoryWarning() {
29 | super.didReceiveMemoryWarning()
30 | // Dispose of any resources that can be recreated.
31 | }
32 |
33 |
34 | }
35 |
36 |
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // ImageMagic
4 | //
5 | // Created by Arun Gupta on 11/03/17.
6 | // Copyright © 2017 Arun Gupta. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class ViewController: UIViewController {
12 | @IBOutlet weak var image1: UIImageView!
13 | @IBOutlet weak var image2: UIImageView!
14 | @IBOutlet weak var image3: UIImageView!
15 | @IBOutlet weak var image4: UIImageView!
16 | override func viewDidLoad() {
17 | super.viewDidLoad()
18 | // Do any additional setup after loading the view, typically from a nib.
19 | image1.tintColor = UIColor.red
20 | image2.tintColor = UIColor.blue
21 | image3.tintColor = UIColor.darkGray
22 | image4.tintColor = UIColor.green
23 |
24 | image1.image = #imageLiteral(resourceName: "DeleteFill")
25 | }
26 |
27 | override func didReceiveMemoryWarning() {
28 | super.didReceiveMemoryWarning()
29 | // Dispose of any resources that can be recreated.
30 | }
31 |
32 |
33 | }
34 |
35 |
--------------------------------------------------------------------------------
/ExpandTableCellDemo/ExpandTableCellDemo/customCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // customCell.swift
3 | // ExpandTableCellDemo
4 | //
5 | // Created by Arun on 4/25/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class customCell: UITableViewCell {
12 |
13 | @IBOutlet weak var matchName: UILabel!
14 | @IBOutlet weak var team1: UILabel!
15 | @IBOutlet weak var team2: UILabel!
16 | @IBOutlet weak var score: UILabel!
17 | @IBOutlet weak var firstView: UIView!
18 | @IBOutlet weak var secondView: UIView!
19 | @IBOutlet weak var heightConstraintSecondView: NSLayoutConstraint!
20 | @IBOutlet weak var summaryLabel: UILabel!
21 | override func awakeFromNib() {
22 | super.awakeFromNib()
23 | // Initialization code
24 | }
25 |
26 | override func setSelected(_ selected: Bool, animated: Bool) {
27 | super.setSelected(selected, animated: animated)
28 |
29 | // Configure the view for the selected state
30 | }
31 |
32 | var showsDetails = false {
33 | didSet {
34 | heightConstraintSecondView.priority = showsDetails ? 250 : 999
35 | }
36 | }
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/AdaptiveUILabel/AdaptiveUILabel/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // AdaptiveUILabel
4 | //
5 | // Created by Arun on 5/16/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class ViewController: UIViewController {
12 |
13 | @IBOutlet weak var textLabel: UILabel!
14 | var count = 0
15 |
16 | let items = ["Jack and Jill went up the hill, to fetch a pail of water.", "Jonny jonny yes papa eating sugar no papa", "DJ", "A Little seed, For me to sow. A little earth, To help it grow. A little sun, A little shower, A little while, And then - A FLOWER!"]
17 | override func viewDidLoad() {
18 | super.viewDidLoad()
19 | // Do any additional setup after loading the view, typically from a nib.
20 | }
21 |
22 | @IBAction func changeText(_ sender: UIButton) {
23 | if(self.count > 3) {
24 | self.count = 0
25 | }
26 | self.textLabel.text = items[count]
27 | self.count = self.count + 1
28 | }
29 | override func didReceiveMemoryWarning() {
30 | super.didReceiveMemoryWarning()
31 | // Dispose of any resources that can be recreated.
32 | }
33 |
34 |
35 | }
36 |
37 |
--------------------------------------------------------------------------------
/TypeAliasDemo/TypeAliasDemo/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // TypeAliasDemo
4 | //
5 | // Created by Arun on 4/25/17.
6 | // Copyright © 2017 Arun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | typealias Even = (String, Int) -> Void
12 | typealias Odd = (Error) -> Void
13 |
14 | class ViewController: UIViewController {
15 | @IBOutlet weak var txtLbl: UILabel!
16 |
17 | var i = 0
18 | override func viewDidLoad() {
19 | super.viewDidLoad()
20 | // Do any additional setup after loading the view, typically from a nib.
21 |
22 |
23 | }
24 |
25 | @IBAction func CallFunction(_ sender: UIButton) {
26 | testTypeAlias(even: { str, num in
27 | txtLbl.text = "\(str) \(num)"
28 | }, odd: { err in
29 | txtLbl.text = err.localizedDescription
30 | })
31 |
32 | }
33 | override func didReceiveMemoryWarning() {
34 | super.didReceiveMemoryWarning()
35 | // Dispose of any resources that can be recreated.
36 | }
37 |
38 | func testTypeAlias(even: Even, odd: Odd) {
39 | if (i % 2 == 0) {
40 | even("This is an Even number: ", i)
41 | i += 1
42 | } else {
43 | let err = NSError(domain: "", code: i, userInfo: nil)
44 | odd(err)
45 | i += 1
46 | }
47 | }
48 |
49 |
50 | }
51 |
52 |
--------------------------------------------------------------------------------
/QRCoder/QRCoder/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "40x40",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "60x60",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "ipad",
35 | "size" : "29x29",
36 | "scale" : "1x"
37 | },
38 | {
39 | "idiom" : "ipad",
40 | "size" : "29x29",
41 | "scale" : "2x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "40x40",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "40x40",
51 | "scale" : "2x"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "size" : "76x76",
56 | "scale" : "1x"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "size" : "76x76",
61 | "scale" : "2x"
62 | }
63 | ],
64 | "info" : {
65 | "version" : 1,
66 | "author" : "xcode"
67 | }
68 | }
--------------------------------------------------------------------------------
/AdaptiveUITextView/AdaptiveUITextView/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // AdaptiveUITextView
4 | //
5 | // Created by Arun on 5/18/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class ViewController: UIViewController {
12 |
13 | @IBOutlet weak var textEntry: UITextView!
14 |
15 | @IBOutlet weak var textHeightConstraint: NSLayoutConstraint!
16 | override func viewDidLoad() {
17 | super.viewDidLoad()
18 | // Do any additional setup after loading the view, typically from a nib.
19 | }
20 |
21 | @IBAction func dismissKeyboard(_ sender: UIButton) {
22 | self.textEntry.resignFirstResponder()
23 | }
24 | override func didReceiveMemoryWarning() {
25 | super.didReceiveMemoryWarning()
26 | // Dispose of any resources that can be recreated.
27 | }
28 | }
29 |
30 | extension ViewController: UITextViewDelegate {
31 | func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
32 | print("Content Height \(self.textEntry.contentSize.height) ")
33 | if(self.textEntry.contentSize.height < self.textHeightConstraint.constant) {
34 | self.textEntry.isScrollEnabled = false
35 | } else {
36 | self.textEntry.isScrollEnabled = true
37 | }
38 |
39 | return true
40 | }
41 | }
42 |
43 |
44 |
--------------------------------------------------------------------------------
/TimerApp/TimerApp/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "40x40",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "60x60",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "ipad",
35 | "size" : "29x29",
36 | "scale" : "1x"
37 | },
38 | {
39 | "idiom" : "ipad",
40 | "size" : "29x29",
41 | "scale" : "2x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "40x40",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "40x40",
51 | "scale" : "2x"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "size" : "76x76",
56 | "scale" : "1x"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "size" : "76x76",
61 | "scale" : "2x"
62 | }
63 | ],
64 | "info" : {
65 | "version" : 1,
66 | "author" : "xcode"
67 | }
68 | }
--------------------------------------------------------------------------------
/ProtectionCD/ProtectionCD/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "40x40",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "60x60",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "ipad",
35 | "size" : "29x29",
36 | "scale" : "1x"
37 | },
38 | {
39 | "idiom" : "ipad",
40 | "size" : "29x29",
41 | "scale" : "2x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "40x40",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "40x40",
51 | "scale" : "2x"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "size" : "76x76",
56 | "scale" : "1x"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "size" : "76x76",
61 | "scale" : "2x"
62 | }
63 | ],
64 | "info" : {
65 | "version" : 1,
66 | "author" : "xcode"
67 | }
68 | }
--------------------------------------------------------------------------------
/SwipingView/SwipingView/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "40x40",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "60x60",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "ipad",
35 | "size" : "29x29",
36 | "scale" : "1x"
37 | },
38 | {
39 | "idiom" : "ipad",
40 | "size" : "29x29",
41 | "scale" : "2x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "40x40",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "40x40",
51 | "scale" : "2x"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "size" : "76x76",
56 | "scale" : "1x"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "size" : "76x76",
61 | "scale" : "2x"
62 | }
63 | ],
64 | "info" : {
65 | "version" : 1,
66 | "author" : "xcode"
67 | }
68 | }
--------------------------------------------------------------------------------
/AdaptiveUILabel/AdaptiveUILabel/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "40x40",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "60x60",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "ipad",
35 | "size" : "29x29",
36 | "scale" : "1x"
37 | },
38 | {
39 | "idiom" : "ipad",
40 | "size" : "29x29",
41 | "scale" : "2x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "40x40",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "40x40",
51 | "scale" : "2x"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "size" : "76x76",
56 | "scale" : "1x"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "size" : "76x76",
61 | "scale" : "2x"
62 | }
63 | ],
64 | "info" : {
65 | "version" : 1,
66 | "author" : "xcode"
67 | }
68 | }
--------------------------------------------------------------------------------
/TypeAliasDemo/TypeAliasDemo/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "40x40",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "60x60",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "ipad",
35 | "size" : "29x29",
36 | "scale" : "1x"
37 | },
38 | {
39 | "idiom" : "ipad",
40 | "size" : "29x29",
41 | "scale" : "2x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "40x40",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "40x40",
51 | "scale" : "2x"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "size" : "76x76",
56 | "scale" : "1x"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "size" : "76x76",
61 | "scale" : "2x"
62 | }
63 | ],
64 | "info" : {
65 | "version" : 1,
66 | "author" : "xcode"
67 | }
68 | }
--------------------------------------------------------------------------------
/AdaptiveUITextView/AdaptiveUITextView/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "40x40",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "60x60",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "ipad",
35 | "size" : "29x29",
36 | "scale" : "1x"
37 | },
38 | {
39 | "idiom" : "ipad",
40 | "size" : "29x29",
41 | "scale" : "2x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "40x40",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "40x40",
51 | "scale" : "2x"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "size" : "76x76",
56 | "scale" : "1x"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "size" : "76x76",
61 | "scale" : "2x"
62 | }
63 | ],
64 | "info" : {
65 | "version" : 1,
66 | "author" : "xcode"
67 | }
68 | }
--------------------------------------------------------------------------------
/CreatingUIPopovers/CreatingUIPopovers/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "40x40",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "60x60",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "ipad",
35 | "size" : "29x29",
36 | "scale" : "1x"
37 | },
38 | {
39 | "idiom" : "ipad",
40 | "size" : "29x29",
41 | "scale" : "2x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "40x40",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "40x40",
51 | "scale" : "2x"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "size" : "76x76",
56 | "scale" : "1x"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "size" : "76x76",
61 | "scale" : "2x"
62 | }
63 | ],
64 | "info" : {
65 | "version" : 1,
66 | "author" : "xcode"
67 | }
68 | }
--------------------------------------------------------------------------------
/ExpandTableCellDemo/ExpandTableCellDemo/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "40x40",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "60x60",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "ipad",
35 | "size" : "29x29",
36 | "scale" : "1x"
37 | },
38 | {
39 | "idiom" : "ipad",
40 | "size" : "29x29",
41 | "scale" : "2x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "40x40",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "40x40",
51 | "scale" : "2x"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "size" : "76x76",
56 | "scale" : "1x"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "size" : "76x76",
61 | "scale" : "2x"
62 | }
63 | ],
64 | "info" : {
65 | "version" : 1,
66 | "author" : "xcode"
67 | }
68 | }
--------------------------------------------------------------------------------
/ExpandableTableViewSections/ExpandableTableViewSections/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "40x40",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "60x60",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "ipad",
35 | "size" : "29x29",
36 | "scale" : "1x"
37 | },
38 | {
39 | "idiom" : "ipad",
40 | "size" : "29x29",
41 | "scale" : "2x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "40x40",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "40x40",
51 | "scale" : "2x"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "size" : "76x76",
56 | "scale" : "1x"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "size" : "76x76",
61 | "scale" : "2x"
62 | }
63 | ],
64 | "info" : {
65 | "version" : 1,
66 | "author" : "xcode"
67 | }
68 | }
--------------------------------------------------------------------------------
/CreatingUIPopovers/CreatingUIPopovers/PopoverController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PopoverController.swift
3 | // CreatingUIPopovers
4 | //
5 | // Created by Arun on 5/27/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | protocol SelectionViewControllerDelegate: class {
13 | func selection(selectedItem: Int)
14 | }
15 |
16 |
17 | class PopoverController: UITableViewController {
18 |
19 | var items: [String] = []
20 |
21 | weak var delegate: SelectionViewControllerDelegate?
22 |
23 | override func viewDidLoad() {
24 | super.viewDidLoad()
25 | }
26 |
27 | override func viewDidAppear(animated: Bool) {
28 | super.viewDidAppear(true)
29 | self.preferredContentSize = self.tableView.contentSize
30 | }
31 |
32 |
33 | override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
34 | return self.items.count
35 | }
36 |
37 | override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
38 | let cell = tableView.dequeueReusableCellWithIdentifier("tableRow", forIndexPath: indexPath)
39 | cell.textLabel?.text = items[indexPath.row]
40 | return cell
41 | }
42 |
43 | override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
44 | self.dismissViewControllerAnimated(false, completion: {()->Void in
45 | self.delegate?.selection(indexPath.row)
46 | });
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/TimerApp/TimerApp/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 | LSRequiresIPhoneOS
22 |
23 | UILaunchStoryboardName
24 | LaunchScreen
25 | UIMainStoryboardFile
26 | Main
27 | UIRequiredDeviceCapabilities
28 |
29 | armv7
30 |
31 | UISupportedInterfaceOrientations
32 |
33 | UIInterfaceOrientationPortrait
34 | UIInterfaceOrientationLandscapeLeft
35 | UIInterfaceOrientationLandscapeRight
36 |
37 | UISupportedInterfaceOrientations~ipad
38 |
39 | UIInterfaceOrientationPortrait
40 | UIInterfaceOrientationPortraitUpsideDown
41 | UIInterfaceOrientationLandscapeLeft
42 | UIInterfaceOrientationLandscapeRight
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 | LSRequiresIPhoneOS
22 |
23 | UILaunchStoryboardName
24 | LaunchScreen
25 | UIMainStoryboardFile
26 | Main
27 | UIRequiredDeviceCapabilities
28 |
29 | armv7
30 |
31 | UISupportedInterfaceOrientations
32 |
33 | UIInterfaceOrientationPortrait
34 | UIInterfaceOrientationLandscapeLeft
35 | UIInterfaceOrientationLandscapeRight
36 |
37 | UISupportedInterfaceOrientations~ipad
38 |
39 | UIInterfaceOrientationPortrait
40 | UIInterfaceOrientationPortraitUpsideDown
41 | UIInterfaceOrientationLandscapeLeft
42 | UIInterfaceOrientationLandscapeRight
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/ScrollDemo/ScrollDemo/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 | LSRequiresIPhoneOS
22 |
23 | UILaunchStoryboardName
24 | LaunchScreen
25 | UIMainStoryboardFile
26 | Main
27 | UIRequiredDeviceCapabilities
28 |
29 | armv7
30 |
31 | UISupportedInterfaceOrientations
32 |
33 | UIInterfaceOrientationPortrait
34 | UIInterfaceOrientationLandscapeLeft
35 | UIInterfaceOrientationLandscapeRight
36 |
37 | UISupportedInterfaceOrientations~ipad
38 |
39 | UIInterfaceOrientationPortrait
40 | UIInterfaceOrientationPortraitUpsideDown
41 | UIInterfaceOrientationLandscapeLeft
42 | UIInterfaceOrientationLandscapeRight
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/TypeAliasDemo/TypeAliasDemo/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 | LSRequiresIPhoneOS
22 |
23 | UILaunchStoryboardName
24 | LaunchScreen
25 | UIMainStoryboardFile
26 | Main
27 | UIRequiredDeviceCapabilities
28 |
29 | armv7
30 |
31 | UISupportedInterfaceOrientations
32 |
33 | UIInterfaceOrientationPortrait
34 | UIInterfaceOrientationLandscapeLeft
35 | UIInterfaceOrientationLandscapeRight
36 |
37 | UISupportedInterfaceOrientations~ipad
38 |
39 | UIInterfaceOrientationPortrait
40 | UIInterfaceOrientationPortraitUpsideDown
41 | UIInterfaceOrientationLandscapeLeft
42 | UIInterfaceOrientationLandscapeRight
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/ProtectionCD/ProtectionCD/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/QRCoder/QRCoder/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp.xcodeproj/xcuserdata/arun.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
8 |
20 |
21 |
22 |
24 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/ProtectionCD/ProtectionCD/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/SwipingView/SwipingView/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/AdaptiveUILabel/AdaptiveUILabel/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/AdaptiveUITextView/AdaptiveUITextView/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/CreatingUIPopovers/CreatingUIPopovers/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/ExpandTableCellDemo/ExpandTableCellDemo/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 2.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/QRCoder/QRCoder.xcodeproj/xcuserdata/arun.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
8 |
20 |
21 |
22 |
24 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/ExpandableTableViewSections/ExpandableTableViewSections/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/SwipingView/SwipingView/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/ProtectionCD/ProtectionCD/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/AdaptiveUILabel/AdaptiveUILabel/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/AdaptiveUITextView/AdaptiveUITextView/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/CreatingUIPopovers/CreatingUIPopovers/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/ExpandTableCellDemo/ExpandTableCellDemo/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/ExpandableTableViewSections/ExpandableTableViewSections/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/TimerApp/TimerApp/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/ScrollDemo/ScrollDemo/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/TypeAliasDemo/TypeAliasDemo/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "20x20",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "20x20",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "29x29",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "29x29",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "40x40",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "40x40",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "size" : "60x60",
36 | "scale" : "2x"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "size" : "60x60",
41 | "scale" : "3x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "20x20",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "20x20",
51 | "scale" : "2x"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "size" : "29x29",
56 | "scale" : "1x"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "size" : "29x29",
61 | "scale" : "2x"
62 | },
63 | {
64 | "idiom" : "ipad",
65 | "size" : "40x40",
66 | "scale" : "1x"
67 | },
68 | {
69 | "idiom" : "ipad",
70 | "size" : "40x40",
71 | "scale" : "2x"
72 | },
73 | {
74 | "idiom" : "ipad",
75 | "size" : "76x76",
76 | "scale" : "1x"
77 | },
78 | {
79 | "idiom" : "ipad",
80 | "size" : "76x76",
81 | "scale" : "2x"
82 | },
83 | {
84 | "idiom" : "ipad",
85 | "size" : "83.5x83.5",
86 | "scale" : "2x"
87 | }
88 | ],
89 | "info" : {
90 | "version" : 1,
91 | "author" : "xcode"
92 | }
93 | }
--------------------------------------------------------------------------------
/ScrollDemo/ScrollDemo/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "20x20",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "20x20",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "29x29",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "29x29",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "40x40",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "40x40",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "size" : "60x60",
36 | "scale" : "2x"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "size" : "60x60",
41 | "scale" : "3x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "20x20",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "20x20",
51 | "scale" : "2x"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "size" : "29x29",
56 | "scale" : "1x"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "size" : "29x29",
61 | "scale" : "2x"
62 | },
63 | {
64 | "idiom" : "ipad",
65 | "size" : "40x40",
66 | "scale" : "1x"
67 | },
68 | {
69 | "idiom" : "ipad",
70 | "size" : "40x40",
71 | "scale" : "2x"
72 | },
73 | {
74 | "idiom" : "ipad",
75 | "size" : "76x76",
76 | "scale" : "1x"
77 | },
78 | {
79 | "idiom" : "ipad",
80 | "size" : "76x76",
81 | "scale" : "2x"
82 | },
83 | {
84 | "idiom" : "ipad",
85 | "size" : "83.5x83.5",
86 | "scale" : "2x"
87 | }
88 | ],
89 | "info" : {
90 | "version" : 1,
91 | "author" : "xcode"
92 | }
93 | }
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "20x20",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "20x20",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "29x29",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "29x29",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "40x40",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "40x40",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "size" : "60x60",
36 | "scale" : "2x"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "size" : "60x60",
41 | "scale" : "3x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "20x20",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "20x20",
51 | "scale" : "2x"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "size" : "29x29",
56 | "scale" : "1x"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "size" : "29x29",
61 | "scale" : "2x"
62 | },
63 | {
64 | "idiom" : "ipad",
65 | "size" : "40x40",
66 | "scale" : "1x"
67 | },
68 | {
69 | "idiom" : "ipad",
70 | "size" : "40x40",
71 | "scale" : "2x"
72 | },
73 | {
74 | "idiom" : "ipad",
75 | "size" : "76x76",
76 | "scale" : "1x"
77 | },
78 | {
79 | "idiom" : "ipad",
80 | "size" : "76x76",
81 | "scale" : "2x"
82 | },
83 | {
84 | "idiom" : "ipad",
85 | "size" : "83.5x83.5",
86 | "scale" : "2x"
87 | }
88 | ],
89 | "info" : {
90 | "version" : 1,
91 | "author" : "xcode"
92 | }
93 | }
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Settings.bundle/Root.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | StringsTable
6 | Root
7 | PreferenceSpecifiers
8 |
9 |
10 | Type
11 | PSGroupSpecifier
12 | Title
13 | Group
14 |
15 |
16 | Type
17 | PSTextFieldSpecifier
18 | Title
19 | Name
20 | Key
21 | name_preference
22 | DefaultValue
23 |
24 | IsSecure
25 |
26 | KeyboardType
27 | Alphabet
28 | AutocapitalizationType
29 | None
30 | AutocorrectionType
31 | No
32 |
33 |
34 | Type
35 | PSToggleSwitchSpecifier
36 | Title
37 | Enabled
38 | Key
39 | enabled_preference
40 | DefaultValue
41 |
42 |
43 |
44 | Type
45 | PSSliderSpecifier
46 | Key
47 | slider_preference
48 | DefaultValue
49 | 0.5
50 | MinimumValue
51 | 0
52 | MaximumValue
53 | 1
54 | MinimumValueImage
55 |
56 | MaximumValueImage
57 |
58 |
59 |
60 | Type
61 | PSTextFieldSpecifier
62 | Title
63 | Version
64 | Key
65 | appVersion
66 |
67 |
68 |
69 |
70 |
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/QRCoder/QRCoder/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // QRCoder
4 | //
5 | // Created by Arun on 3/21/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 |
17 | func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
18 | // Override point for customization after application launch.
19 | return true
20 | }
21 |
22 | func applicationWillResignActive(application: UIApplication) {
23 | // 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.
24 | // 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.
25 | }
26 |
27 | func applicationDidEnterBackground(application: UIApplication) {
28 | // 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.
29 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
30 | }
31 |
32 | func applicationWillEnterForeground(application: UIApplication) {
33 | // 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.
34 | }
35 |
36 | func applicationDidBecomeActive(application: UIApplication) {
37 | // 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.
38 | }
39 |
40 | func applicationWillTerminate(application: UIApplication) {
41 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
42 | }
43 |
44 |
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/SwipingView/SwipingView/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // SwipingView
4 | //
5 | // Created by Arun on 5/9/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 |
17 | func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
18 | // Override point for customization after application launch.
19 | return true
20 | }
21 |
22 | func applicationWillResignActive(application: UIApplication) {
23 | // 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.
24 | // 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.
25 | }
26 |
27 | func applicationDidEnterBackground(application: UIApplication) {
28 | // 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.
29 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
30 | }
31 |
32 | func applicationWillEnterForeground(application: UIApplication) {
33 | // 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.
34 | }
35 |
36 | func applicationDidBecomeActive(application: UIApplication) {
37 | // 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.
38 | }
39 |
40 | func applicationWillTerminate(application: UIApplication) {
41 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
42 | }
43 |
44 |
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/CreatingUIPopovers/CreatingUIPopovers/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // CreatingUIPopovers
4 | //
5 | // Created by Arun on 5/27/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 |
17 | func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
18 | // Override point for customization after application launch.
19 | return true
20 | }
21 |
22 | func applicationWillResignActive(application: UIApplication) {
23 | // 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.
24 | // 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.
25 | }
26 |
27 | func applicationDidEnterBackground(application: UIApplication) {
28 | // 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.
29 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
30 | }
31 |
32 | func applicationWillEnterForeground(application: UIApplication) {
33 | // 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.
34 | }
35 |
36 | func applicationDidBecomeActive(application: UIApplication) {
37 | // 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.
38 | }
39 |
40 | func applicationWillTerminate(application: UIApplication) {
41 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
42 | }
43 |
44 |
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/AdaptiveUILabel/AdaptiveUILabel/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // AdaptiveUILabel
4 | //
5 | // Created by Arun on 5/16/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 |
17 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
18 | // Override point for customization after application launch.
19 | return true
20 | }
21 |
22 | func applicationWillResignActive(_ application: UIApplication) {
23 | // 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.
24 | // 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.
25 | }
26 |
27 | func applicationDidEnterBackground(_ application: UIApplication) {
28 | // 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.
29 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
30 | }
31 |
32 | func applicationWillEnterForeground(_ application: UIApplication) {
33 | // 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.
34 | }
35 |
36 | func applicationDidBecomeActive(_ application: UIApplication) {
37 | // 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.
38 | }
39 |
40 | func applicationWillTerminate(_ application: UIApplication) {
41 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
42 | }
43 |
44 |
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // ImageMagic
4 | //
5 | // Created by Arun Gupta on 11/03/17.
6 | // Copyright © 2017 Arun Gupta. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 |
17 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
18 | // Override point for customization after application launch.
19 | return true
20 | }
21 |
22 | func applicationWillResignActive(_ application: UIApplication) {
23 | // 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.
24 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
25 | }
26 |
27 | func applicationDidEnterBackground(_ application: UIApplication) {
28 | // 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.
29 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
30 | }
31 |
32 | func applicationWillEnterForeground(_ application: UIApplication) {
33 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
34 | }
35 |
36 | func applicationDidBecomeActive(_ application: UIApplication) {
37 | // 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.
38 | }
39 |
40 | func applicationWillTerminate(_ application: UIApplication) {
41 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
42 | }
43 |
44 |
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/AdaptiveUITextView/AdaptiveUITextView/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // AdaptiveUITextView
4 | //
5 | // Created by Arun on 5/18/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 |
17 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
18 | // Override point for customization after application launch.
19 | return true
20 | }
21 |
22 | func applicationWillResignActive(_ application: UIApplication) {
23 | // 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.
24 | // 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.
25 | }
26 |
27 | func applicationDidEnterBackground(_ application: UIApplication) {
28 | // 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.
29 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
30 | }
31 |
32 | func applicationWillEnterForeground(_ application: UIApplication) {
33 | // 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.
34 | }
35 |
36 | func applicationDidBecomeActive(_ application: UIApplication) {
37 | // 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.
38 | }
39 |
40 | func applicationWillTerminate(_ application: UIApplication) {
41 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
42 | }
43 |
44 |
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/ExpandTableCellDemo/ExpandTableCellDemo/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // ExpandTableCellDemo
4 | //
5 | // Created by Arun on 4/25/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 |
17 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
18 | // Override point for customization after application launch.
19 | return true
20 | }
21 |
22 | func applicationWillResignActive(_ application: UIApplication) {
23 | // 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.
24 | // 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.
25 | }
26 |
27 | func applicationDidEnterBackground(_ application: UIApplication) {
28 | // 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.
29 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
30 | }
31 |
32 | func applicationWillEnterForeground(_ application: UIApplication) {
33 | // 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.
34 | }
35 |
36 | func applicationDidBecomeActive(_ application: UIApplication) {
37 | // 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.
38 | }
39 |
40 | func applicationWillTerminate(_ application: UIApplication) {
41 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
42 | }
43 |
44 |
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/ExpandableTableViewSections/ExpandableTableViewSections/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // ExpandableTableViewSections
4 | //
5 | // Created by Arun on 7/31/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 |
17 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
18 | // Override point for customization after application launch.
19 | return true
20 | }
21 |
22 | func applicationWillResignActive(_ application: UIApplication) {
23 | // 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.
24 | // 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.
25 | }
26 |
27 | func applicationDidEnterBackground(_ application: UIApplication) {
28 | // 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.
29 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
30 | }
31 |
32 | func applicationWillEnterForeground(_ application: UIApplication) {
33 | // 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.
34 | }
35 |
36 | func applicationDidBecomeActive(_ application: UIApplication) {
37 | // 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.
38 | }
39 |
40 | func applicationWillTerminate(_ application: UIApplication) {
41 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
42 | }
43 |
44 |
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/TimerApp/TimerApp/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // TimerApp
4 | //
5 | // Created by Arun on 5/2/17.
6 | // Copyright © 2017 Arun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
16 | // Override point for customization after application launch.
17 | return true
18 | }
19 |
20 |
21 |
22 | func applicationWillResignActive(_ application: UIApplication) {
23 | // 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.
24 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
25 | }
26 |
27 | func applicationDidEnterBackground(_ application: UIApplication) {
28 | // 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.
29 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
30 | /*
31 | let shared = UserDefaults.standard
32 | shared.set(Date(), forKey: "savedTime")
33 | print(Date())
34 | */
35 |
36 | }
37 |
38 | func applicationWillEnterForeground(_ application: UIApplication) {
39 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
40 | }
41 |
42 | func applicationDidBecomeActive(_ application: UIApplication) {
43 | // 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.
44 | /*
45 | if let savedDate = UserDefaults.standard.object(forKey: "savedTime") as? Date {
46 | (hour, min, sec) = ViewController.getTimeDifference(startDate: savedDate)
47 | }
48 | */
49 | }
50 |
51 | func applicationWillTerminate(_ application: UIApplication) {
52 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
53 | }
54 |
55 |
56 | }
57 |
58 |
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // TextViewLikeWhatsApp
4 | //
5 | // Created by alex on 6/16/16.
6 | // Copyright © 2016 MOSTELECOM. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 |
17 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
18 | // Override point for customization after application launch.
19 | let appInfo = Bundle.main.infoDictionary as! Dictionary
20 | let shortVersionString = appInfo["CFBundleShortVersionString"] as! String
21 | let bundleVersion = appInfo["CFBundleVersion"] as! String
22 | let applicationVersion = shortVersionString + "." + bundleVersion
23 | let defaults = UserDefaults.standard
24 | defaults.set(applicationVersion, forKey: "appVersion")
25 | defaults.synchronize()
26 | return true
27 | }
28 |
29 | func applicationWillResignActive(_ application: UIApplication) {
30 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
31 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
32 | }
33 |
34 | func applicationDidEnterBackground(_ application: UIApplication) {
35 | // 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.
36 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
37 | }
38 |
39 | func applicationWillEnterForeground(_ application: UIApplication) {
40 | // 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.
41 | }
42 |
43 | func applicationDidBecomeActive(_ application: UIApplication) {
44 | // 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.
45 | }
46 |
47 | func applicationWillTerminate(_ application: UIApplication) {
48 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
49 | }
50 |
51 |
52 | }
53 |
54 |
--------------------------------------------------------------------------------
/CreatingUIPopovers/CreatingUIPopovers/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // CreatingUIPopovers
4 | //
5 | // Created by Arun on 5/27/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class ViewController: UIViewController, UIPopoverPresentationControllerDelegate, SelectionViewControllerDelegate {
12 |
13 | let items = ["One", "Two", "Three", "Four", "Five"]
14 |
15 | override func viewDidLoad() {
16 | super.viewDidLoad()
17 | // Do any additional setup after loading the view, typically from a nib.
18 | }
19 |
20 | override func didReceiveMemoryWarning() {
21 | super.didReceiveMemoryWarning()
22 | // Dispose of any resources that can be recreated.
23 | }
24 |
25 | @IBAction func showPopover(sender: UIButton) {
26 | let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
27 | let popOverVC: PopoverController =
28 | storyboard.instantiateViewControllerWithIdentifier("PopVC") as! PopoverController
29 | popOverVC.items = items
30 | popOverVC.modalPresentationStyle = .Popover
31 | popOverVC.preferredContentSize = CGSizeMake(300, 250)
32 | popOverVC.delegate = self
33 | let popoverMenuViewController = popOverVC.popoverPresentationController
34 | popoverMenuViewController?.permittedArrowDirections = .Any
35 | popoverMenuViewController?.delegate = self
36 | popoverMenuViewController?.sourceView = sender
37 | popoverMenuViewController?.sourceRect = CGRectMake(0, 0, sender.frame.size.width, sender.frame.size.height)
38 | presentViewController(popOverVC, animated: true, completion: nil)
39 | }
40 |
41 |
42 | @IBAction func showPopoverfromBarButton(sender: UIBarButtonItem) {
43 | let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
44 | let popOverVC: PopoverController =
45 | storyboard.instantiateViewControllerWithIdentifier("PopVC") as! PopoverController
46 | popOverVC.items = items
47 | popOverVC.modalPresentationStyle = .Popover
48 | popOverVC.preferredContentSize = CGSizeMake(300, 250)
49 | popOverVC.delegate = self
50 | let popoverMenuViewController = popOverVC.popoverPresentationController
51 | popoverMenuViewController?.permittedArrowDirections = .Any
52 | popoverMenuViewController?.delegate = self
53 | popoverMenuViewController?.barButtonItem = sender as UIBarButtonItem
54 | presentViewController(popOverVC, animated: true, completion: nil)
55 | }
56 |
57 | func selection(selectedItem: Int) {
58 | print("Selected Index: \(selectedItem), Item: \(items[selectedItem])")
59 | }
60 |
61 | func adaptivePresentationStyleForPresentationController(controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle {
62 | return .None
63 | }
64 |
65 | }
66 |
67 |
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp/Assets.xcassets/AppIcon-1.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "20x20",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "20x20",
11 | "scale" : "3x"
12 | },
13 | {
14 | "size" : "29x29",
15 | "idiom" : "iphone",
16 | "filename" : "Icon-App-29x29@2x.png",
17 | "scale" : "2x"
18 | },
19 | {
20 | "size" : "29x29",
21 | "idiom" : "iphone",
22 | "filename" : "Icon-App-29x29@3x.png",
23 | "scale" : "3x"
24 | },
25 | {
26 | "size" : "40x40",
27 | "idiom" : "iphone",
28 | "filename" : "Icon-App-40x40@2x.png",
29 | "scale" : "2x"
30 | },
31 | {
32 | "size" : "40x40",
33 | "idiom" : "iphone",
34 | "filename" : "Icon-App-40x40@3x.png",
35 | "scale" : "3x"
36 | },
37 | {
38 | "size" : "60x60",
39 | "idiom" : "iphone",
40 | "filename" : "Icon-App-60x60@2x.png",
41 | "scale" : "2x"
42 | },
43 | {
44 | "size" : "60x60",
45 | "idiom" : "iphone",
46 | "filename" : "Icon-App-60x60@3x.png",
47 | "scale" : "3x"
48 | },
49 | {
50 | "idiom" : "ipad",
51 | "size" : "20x20",
52 | "scale" : "1x"
53 | },
54 | {
55 | "idiom" : "ipad",
56 | "size" : "20x20",
57 | "scale" : "2x"
58 | },
59 | {
60 | "size" : "29x29",
61 | "idiom" : "ipad",
62 | "filename" : "Icon-App-29x29@1x.png",
63 | "scale" : "1x"
64 | },
65 | {
66 | "size" : "29x29",
67 | "idiom" : "ipad",
68 | "filename" : "Icon-App-29x29@2x.png",
69 | "scale" : "2x"
70 | },
71 | {
72 | "size" : "40x40",
73 | "idiom" : "ipad",
74 | "filename" : "Icon-App-40x40@1x.png",
75 | "scale" : "1x"
76 | },
77 | {
78 | "size" : "40x40",
79 | "idiom" : "ipad",
80 | "filename" : "Icon-App-40x40@2x.png",
81 | "scale" : "2x"
82 | },
83 | {
84 | "size" : "76x76",
85 | "idiom" : "ipad",
86 | "filename" : "Icon-App-76x76@1x.png",
87 | "scale" : "1x"
88 | },
89 | {
90 | "size" : "76x76",
91 | "idiom" : "ipad",
92 | "filename" : "Icon-App-76x76@2x.png",
93 | "scale" : "2x"
94 | },
95 | {
96 | "size" : "83.5x83.5",
97 | "idiom" : "ipad",
98 | "filename" : "Icon-App-83.5x83.5@2x.png",
99 | "scale" : "2x"
100 | },
101 | {
102 | "size" : "40x40",
103 | "idiom" : "iphone",
104 | "filename" : "Icon-App-40x40@1x.png",
105 | "scale" : "1x"
106 | },
107 | {
108 | "size" : "60x60",
109 | "idiom" : "iphone",
110 | "filename" : "Icon-App-60x60@1x.png",
111 | "scale" : "1x"
112 | },
113 | {
114 | "size" : "76x76",
115 | "idiom" : "ipad",
116 | "filename" : "Icon-App-76x76@3x.png",
117 | "scale" : "3x"
118 | },
119 | {
120 | "size" : "29x29",
121 | "idiom" : "iphone",
122 | "filename" : "Icon-App-29x29@1x.png",
123 | "unassigned" : true,
124 | "scale" : "1x"
125 | }
126 | ],
127 | "info" : {
128 | "version" : 1,
129 | "author" : "xcode"
130 | }
131 | }
--------------------------------------------------------------------------------
/ExpandTableCellDemo/README.md:
--------------------------------------------------------------------------------
1 | #This Sample shows how to create a expandable and collapsible cell in UITableView
2 |
3 | You can watch the video here: https://youtu.be/LqHzHkuXRxQ
4 |
5 | 
6 |
7 |
8 |
9 | Lets walk through the example.
10 | I have UITableView with custom UITableViewCell called customCell with identifier as Cell and Style as custom. Cell is design in Storyboard within the UITableView by adding UITableViewCell.
11 |
12 | My customCell has 2 UIView - FirstView and SecondView. FirstView is one which will be displayed in collapsible or normal mode and when user clicks on a cell it expands to show SecondView below FirstView.
13 |
14 | In short if you see the UITableViewCell
15 | - FirstView has one child as UILabel, created using Autolayout and Size Classes
16 | - SecondView has 3 UILabel as subview, everything using the Autolayout and Size Classes.
17 |
18 | Till now its as simple as creating the custom UITableViewCell nothing great about it. Lets start how we go about making this as Expandable/Collasible type Cell.
19 |
20 | Since we will be hiding and showing the SecondView, all changes need to be made in SecondView. We will be playing with the Priority property of the Constraints.
21 |
22 | - Set the Height Constraint of the SecondView as 0 and set the Priority as 999.
23 | - For all the SubViews of SecondView set there constraint Priority as 998.
24 |
25 | What this means is we have set the default height of SecondView as 0 and priority as 999 and its subviews priority as 998 which says that SecondView height property takes precedence over the internal constraints whose priority is less that height property.
26 | Since initially we have set the heightconstraint with priority as 999 to 0, all subviews are collapsed or hidden.
27 | Now when we click the cell we are setting the priority as 250 as below which is less then the priority of its subviews thus expanding the SecondView to show its subview.
28 |
29 | In your customCell class, update the HeightConstraintProperty of SecondView on click as below.
30 |
31 | var showsDetails = false {
32 | didSet {
33 | heightConstraintSecondView.priority = showsDetails ? 250 : 999
34 | }
35 | }
36 |
37 | In Your ViewController
38 | Implement the TableViewDelegates, in didSelectRowAtIndexPath set the indexPath.row to a variable and reload the cell using begin and end updates
39 |
40 | func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
41 | if(selectedIndex == indexPath.row) {
42 | selectedIndex = -1
43 | } else {
44 | selectedIndex = indexPath.row
45 | }
46 | self.expandTableView.beginUpdates()
47 | self.expandTableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Automatic )
48 | self.expandTableView.endUpdates()
49 | }
50 |
51 |
52 | In heightForRowAtIndexPath set the height of the cell accordingly for selectedIndex
53 |
54 | func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
55 | if(selectedIndex == indexPath.row) {
56 | return 100;
57 | } else {
58 | return 40;
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/QRCoder/QRCoder.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/QRCoder.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/TimerApp/TimerApp.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/TimerApp.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/ImageMagic/ImageMagic.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/ImageMagic.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/ScrollDemo/ScrollDemo.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/ScrollDemo.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/SwipingView/SwipingView.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/SwipingView.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/ProtectionCD/ProtectionCD.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/ProtectionCD.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/TypeAliasDemo/TypeAliasDemo.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/TypeAliasDemo.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/AdaptiveUILabel/AdaptiveUILabel.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/AdaptiveUILabel.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/AdaptiveUITextView/AdaptiveUITextView.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/AdaptiveUITextView.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/CreatingUIPopovers/CreatingUIPopovers.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/CreatingUIPopovers.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/ExpandTableCellDemo/ExpandTableCellDemo.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/ExpandTableCellDemo.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp.xcodeproj/xcuserdata/alex.xcuserdatad/xcschemes/TextViewLikeWhatsApp.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp.xcodeproj/xcuserdata/arun.xcuserdatad/xcschemes/TextViewLikeWhatsApp.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/TextViewLikeWhatsApp/TextViewLikeWhatsApp.xcodeproj/xcuserdata/Inquisitoralex90741qzimT.xcuserdatad/xcschemes/TextViewLikeWhatsApp.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/SwipingView/SwipingView/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // SwipingView
4 | //
5 | // Created by Arun on 5/9/16.
6 | // Copyright © 2016 Arun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class ViewController: UIViewController {
12 |
13 | @IBOutlet weak var view1: UIView!
14 | @IBOutlet weak var view2: UIView!
15 | @IBOutlet weak var label1: UILabel!
16 | @IBOutlet weak var label2: UILabel!
17 |
18 | var displayString: String?
19 | var quotes = ["Geometrics", "Vectors", "Celebration", "Triangle", "Landscapes", "Seasons", "Snow", "Rain", "Sunrays", "Stencils", "Paint", "Graphics", "Graffiti", "Sports","Fashion","Ancient Greek", "Philosophers", "Fairy tales", "Fantasy", "Clouds", "Mystery", "Time Clocks", "Canvas", "Tie-dye", "Glitter", "Dessert", "Desert", "Energy", "Astrology", "Solar Systems", "Sea", "Beach", "Sphere", "Roots", "Lights", "Darks", "Fire", "Air", "Aperture", "Long exposure", "Portraits", "World", "Travel", "Architecture", "Freedom", "Old", "New", "Urban", "Lenses", "Fisheye", "Chords", "Music notes", "Spices", "Herbs", "Natural", "Marbles", "Wood", "Trees", "Forests", "Interior","Mammals", "Reptiles", "Ocean", "Birds", "Photography", "Exposure", "Opaque", "Translucent", "Freestyle", "Spots", "Stripes", "Zig Zag", "Spiral", "Glass", "Feathers", "Calm", "Bulb", "Heat", "Cold", "Stitches", "Views", "Birds", "Sunset", "Earth"]
20 |
21 | var whichQuotestoChoose = 0
22 |
23 |
24 | override func viewDidLoad() {
25 | super.viewDidLoad()
26 | // Do any additional setup after loading the view, typically from a nib.
27 |
28 | let swipeLeft = UISwipeGestureRecognizer(target: self, action: #selector(ViewController.viewSwipped(_:)))
29 | swipeLeft.direction = UISwipeGestureRecognizerDirection.Left
30 | view1.addGestureRecognizer(swipeLeft)
31 |
32 | let swipeLeft1 = UISwipeGestureRecognizer(target: self, action: #selector(ViewController.viewSwipped(_:)))
33 | swipeLeft1.direction = UISwipeGestureRecognizerDirection.Left
34 | view2.addGestureRecognizer(swipeLeft1)
35 | }
36 |
37 | func viewSwipped(gesture: UIGestureRecognizer) {
38 | self.chooseAQuote()
39 |
40 | if let swippedView = gesture.view {
41 | //swippedView.slideInFromRight()
42 | if swippedView.tag == 1 {
43 | label1.leftToRightAnimation()
44 | label1.text = displayString
45 | } else {
46 | label2.leftToRightAnimation()
47 | label2.text = displayString
48 | }
49 | }
50 | }
51 |
52 | func chooseAQuote() {
53 | displayString = quotes[whichQuotestoChoose]
54 | whichQuotestoChoose = Int(arc4random_uniform (84))
55 | }
56 |
57 | override func didReceiveMemoryWarning() {
58 | super.didReceiveMemoryWarning()
59 | // Dispose of any resources that can be recreated.
60 | }
61 | }
62 |
63 | extension UIView {
64 | func leftToRightAnimation(duration: NSTimeInterval = 0.5, completionDelegate: AnyObject? = nil) {
65 | // Create a CATransition object
66 | let leftToRightTransition = CATransition()
67 |
68 | // Set its callback delegate to the completionDelegate that was provided
69 | if let delegate: AnyObject = completionDelegate {
70 | leftToRightTransition.delegate = delegate
71 | }
72 |
73 | leftToRightTransition.type = kCATransitionPush
74 | leftToRightTransition.subtype = kCATransitionFromRight
75 | leftToRightTransition.duration = duration
76 | leftToRightTransition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
77 | leftToRightTransition.fillMode = kCAFillModeRemoved
78 |
79 | // Add the animation to the View's layer
80 | self.layer.addAnimation(leftToRightTransition, forKey: "leftToRightTransition")
81 | }
82 | }
83 |
84 |
85 |
86 |
--------------------------------------------------------------------------------