├── .DS_Store
├── DynamicInputView.xcodeproj
├── project.pbxproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ ├── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
│ └── xcuserdata
│ │ └── mac.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
└── xcuserdata
│ └── mac.xcuserdatad
│ └── xcschemes
│ └── xcschememanagement.plist
├── DynamicInputView.xcworkspace
├── contents.xcworkspacedata
├── xcshareddata
│ └── IDEWorkspaceChecks.plist
└── xcuserdata
│ └── mac.xcuserdatad
│ ├── UserInterfaceState.xcuserstate
│ └── xcdebugger
│ └── Breakpoints_v2.xcbkptlist
├── DynamicInputView
├── .DS_Store
├── AppDelegate.h
├── AppDelegate.m
├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ ├── Contents.json
│ │ ├── icon-1024.png
│ │ ├── icon-20-ipad.png
│ │ ├── icon-20@2x-ipad.png
│ │ ├── icon-20@2x.png
│ │ ├── icon-20@3x.png
│ │ ├── icon-29-ipad.png
│ │ ├── icon-29.png
│ │ ├── icon-29@2x-ipad.png
│ │ ├── icon-29@2x.png
│ │ ├── icon-29@3x.png
│ │ ├── icon-40.png
│ │ ├── icon-40@2x.png
│ │ ├── icon-40@3x.png
│ │ ├── icon-60@2x.png
│ │ ├── icon-60@3x.png
│ │ ├── icon-76.png
│ │ ├── icon-76@2x.png
│ │ └── icon-83.5@2x.png
│ ├── Contents.json
│ ├── delete.imageset
│ │ ├── Contents.json
│ │ └── delete.png
│ └── logo.imageset
│ │ ├── Contents.json
│ │ └── logo.png
├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
├── Example
│ ├── .DS_Store
│ ├── C
│ │ ├── ExampleDynamicFooter.h
│ │ ├── ExampleDynamicFooter.m
│ │ ├── ExampleDynamicHeader.h
│ │ ├── ExampleDynamicHeader.m
│ │ ├── ExampleDynamicInputCell.h
│ │ ├── ExampleDynamicInputCell.m
│ │ ├── ExampleDynamicInputInfoView.h
│ │ ├── ExampleDynamicInputInfoView.m
│ │ ├── ExampleDynamicSectionFooter.h
│ │ └── ExampleDynamicSectionFooter.m
│ └── V
│ │ ├── ExampleViewController.h
│ │ └── ExampleViewController.m
├── Info.plist
├── NSString+GHome.h
├── NSString+GHome.m
├── PrefixHeader.pch
└── main.m
├── DynamicInputViewTests
├── DynamicInputViewTests.m
└── Info.plist
├── DynamicInputViewUITests
├── DynamicInputViewUITests.m
└── Info.plist
├── GHDynamicInputView
├── GHDynamicInputView.h
├── GHDynamicInputView.m
├── GHLabel.h
└── GHLabel.m
├── LICENSE
├── Podfile
├── Podfile.lock
├── Pods
├── .DS_Store
├── Headers
│ ├── Private
│ │ ├── IQKeyboardManager
│ │ │ ├── IQBarButtonItem.h
│ │ │ ├── IQKeyboardManager.h
│ │ │ ├── IQKeyboardManagerConstants.h
│ │ │ ├── IQKeyboardManagerConstantsInternal.h
│ │ │ ├── IQKeyboardReturnKeyHandler.h
│ │ │ ├── IQNSArray+Sort.h
│ │ │ ├── IQPreviousNextView.h
│ │ │ ├── IQTextView.h
│ │ │ ├── IQTitleBarButtonItem.h
│ │ │ ├── IQToolbar.h
│ │ │ ├── IQUIScrollView+Additions.h
│ │ │ ├── IQUITextFieldView+Additions.h
│ │ │ ├── IQUIView+Hierarchy.h
│ │ │ ├── IQUIView+IQKeyboardToolbar.h
│ │ │ └── IQUIViewController+Additions.h
│ │ └── Masonry
│ │ │ ├── MASCompositeConstraint.h
│ │ │ ├── MASConstraint+Private.h
│ │ │ ├── MASConstraint.h
│ │ │ ├── MASConstraintMaker.h
│ │ │ ├── MASLayoutConstraint.h
│ │ │ ├── MASUtilities.h
│ │ │ ├── MASViewAttribute.h
│ │ │ ├── MASViewConstraint.h
│ │ │ ├── Masonry.h
│ │ │ ├── NSArray+MASAdditions.h
│ │ │ ├── NSArray+MASShorthandAdditions.h
│ │ │ ├── NSLayoutConstraint+MASDebugAdditions.h
│ │ │ ├── View+MASAdditions.h
│ │ │ ├── View+MASShorthandAdditions.h
│ │ │ └── ViewController+MASAdditions.h
│ └── Public
│ │ ├── IQKeyboardManager
│ │ ├── IQBarButtonItem.h
│ │ ├── IQKeyboardManager.h
│ │ ├── IQKeyboardManagerConstants.h
│ │ ├── IQKeyboardReturnKeyHandler.h
│ │ ├── IQPreviousNextView.h
│ │ ├── IQTextView.h
│ │ ├── IQTitleBarButtonItem.h
│ │ ├── IQToolbar.h
│ │ ├── IQUIScrollView+Additions.h
│ │ ├── IQUITextFieldView+Additions.h
│ │ ├── IQUIView+Hierarchy.h
│ │ ├── IQUIView+IQKeyboardToolbar.h
│ │ └── IQUIViewController+Additions.h
│ │ └── Masonry
│ │ ├── MASCompositeConstraint.h
│ │ ├── MASConstraint+Private.h
│ │ ├── MASConstraint.h
│ │ ├── MASConstraintMaker.h
│ │ ├── MASLayoutConstraint.h
│ │ ├── MASUtilities.h
│ │ ├── MASViewAttribute.h
│ │ ├── MASViewConstraint.h
│ │ ├── Masonry.h
│ │ ├── NSArray+MASAdditions.h
│ │ ├── NSArray+MASShorthandAdditions.h
│ │ ├── NSLayoutConstraint+MASDebugAdditions.h
│ │ ├── View+MASAdditions.h
│ │ ├── View+MASShorthandAdditions.h
│ │ └── ViewController+MASAdditions.h
├── IQKeyboardManager
│ ├── IQKeyboardManager
│ │ ├── Categories
│ │ │ ├── IQNSArray+Sort.h
│ │ │ ├── IQNSArray+Sort.m
│ │ │ ├── IQUIScrollView+Additions.h
│ │ │ ├── IQUIScrollView+Additions.m
│ │ │ ├── IQUITextFieldView+Additions.h
│ │ │ ├── IQUITextFieldView+Additions.m
│ │ │ ├── IQUIView+Hierarchy.h
│ │ │ ├── IQUIView+Hierarchy.m
│ │ │ ├── IQUIViewController+Additions.h
│ │ │ └── IQUIViewController+Additions.m
│ │ ├── Constants
│ │ │ ├── IQKeyboardManagerConstants.h
│ │ │ └── IQKeyboardManagerConstantsInternal.h
│ │ ├── IQKeyboardManager.h
│ │ ├── IQKeyboardManager.m
│ │ ├── IQKeyboardReturnKeyHandler.h
│ │ ├── IQKeyboardReturnKeyHandler.m
│ │ ├── IQTextView
│ │ │ ├── IQTextView.h
│ │ │ └── IQTextView.m
│ │ ├── IQToolbar
│ │ │ ├── IQBarButtonItem.h
│ │ │ ├── IQBarButtonItem.m
│ │ │ ├── IQPreviousNextView.h
│ │ │ ├── IQPreviousNextView.m
│ │ │ ├── IQTitleBarButtonItem.h
│ │ │ ├── IQTitleBarButtonItem.m
│ │ │ ├── IQToolbar.h
│ │ │ ├── IQToolbar.m
│ │ │ ├── IQUIView+IQKeyboardToolbar.h
│ │ │ └── IQUIView+IQKeyboardToolbar.m
│ │ └── Resources
│ │ │ └── IQKeyboardManager.xcassets
│ │ │ ├── Contents.json
│ │ │ ├── IQButtonBarArrowDown.imageset
│ │ │ ├── Contents.json
│ │ │ ├── IQButtonBarArrowDown@2x.png
│ │ │ └── IQButtonBarArrowDown@3x.png
│ │ │ ├── IQButtonBarArrowLeft.imageset
│ │ │ ├── Contents.json
│ │ │ ├── IQButtonBarArrowLeft@2x.png
│ │ │ └── IQButtonBarArrowLeft@3x.png
│ │ │ ├── IQButtonBarArrowRight.imageset
│ │ │ ├── Contents.json
│ │ │ ├── IQButtonBarArrowRight@2x.png
│ │ │ └── IQButtonBarArrowRight@3x.png
│ │ │ └── IQButtonBarArrowUp.imageset
│ │ │ ├── Contents.json
│ │ │ ├── IQButtonBarArrowUp@2x.png
│ │ │ └── IQButtonBarArrowUp@3x.png
│ ├── LICENSE.md
│ └── README.md
├── Manifest.lock
├── Masonry
│ ├── LICENSE
│ ├── Masonry
│ │ ├── MASCompositeConstraint.h
│ │ ├── MASCompositeConstraint.m
│ │ ├── MASConstraint+Private.h
│ │ ├── MASConstraint.h
│ │ ├── MASConstraint.m
│ │ ├── MASConstraintMaker.h
│ │ ├── MASConstraintMaker.m
│ │ ├── MASLayoutConstraint.h
│ │ ├── MASLayoutConstraint.m
│ │ ├── MASUtilities.h
│ │ ├── MASViewAttribute.h
│ │ ├── MASViewAttribute.m
│ │ ├── MASViewConstraint.h
│ │ ├── MASViewConstraint.m
│ │ ├── Masonry.h
│ │ ├── NSArray+MASAdditions.h
│ │ ├── NSArray+MASAdditions.m
│ │ ├── NSArray+MASShorthandAdditions.h
│ │ ├── NSLayoutConstraint+MASDebugAdditions.h
│ │ ├── NSLayoutConstraint+MASDebugAdditions.m
│ │ ├── View+MASAdditions.h
│ │ ├── View+MASAdditions.m
│ │ ├── View+MASShorthandAdditions.h
│ │ ├── ViewController+MASAdditions.h
│ │ └── ViewController+MASAdditions.m
│ └── README.md
├── Pods.xcodeproj
│ ├── project.pbxproj
│ └── xcuserdata
│ │ └── mac.xcuserdatad
│ │ └── xcschemes
│ │ ├── IQKeyboardManager-framework-IQKeyboardManager.xcscheme
│ │ ├── IQKeyboardManager-framework.xcscheme
│ │ ├── IQKeyboardManager-library-IQKeyboardManager.xcscheme
│ │ ├── IQKeyboardManager-library.xcscheme
│ │ ├── Masonry-framework.xcscheme
│ │ ├── Masonry-library.xcscheme
│ │ ├── Pods-DynamicInputView-DynamicInputViewUITests.xcscheme
│ │ ├── Pods-DynamicInputView.xcscheme
│ │ ├── Pods-DynamicInputViewTests.xcscheme
│ │ └── xcschememanagement.plist
└── Target Support Files
│ ├── IQKeyboardManager-framework
│ ├── IQKeyboardManager-framework-Info.plist
│ ├── IQKeyboardManager-framework-dummy.m
│ ├── IQKeyboardManager-framework-prefix.pch
│ ├── IQKeyboardManager-framework-umbrella.h
│ ├── IQKeyboardManager-framework.modulemap
│ ├── IQKeyboardManager-framework.xcconfig
│ └── ResourceBundle-IQKeyboardManager-IQKeyboardManager-framework-Info.plist
│ ├── IQKeyboardManager-library
│ ├── IQKeyboardManager-library-dummy.m
│ ├── IQKeyboardManager-library-prefix.pch
│ ├── IQKeyboardManager-library.xcconfig
│ └── ResourceBundle-IQKeyboardManager-IQKeyboardManager-library-Info.plist
│ ├── Masonry-framework
│ ├── Masonry-framework-Info.plist
│ ├── Masonry-framework-dummy.m
│ ├── Masonry-framework-prefix.pch
│ ├── Masonry-framework-umbrella.h
│ ├── Masonry-framework.modulemap
│ └── Masonry-framework.xcconfig
│ ├── Masonry-library
│ ├── Masonry-library-dummy.m
│ ├── Masonry-library-prefix.pch
│ └── Masonry-library.xcconfig
│ ├── Pods-DynamicInputView-DynamicInputViewUITests
│ ├── Pods-DynamicInputView-DynamicInputViewUITests-Info.plist
│ ├── Pods-DynamicInputView-DynamicInputViewUITests-acknowledgements.markdown
│ ├── Pods-DynamicInputView-DynamicInputViewUITests-acknowledgements.plist
│ ├── Pods-DynamicInputView-DynamicInputViewUITests-dummy.m
│ ├── Pods-DynamicInputView-DynamicInputViewUITests-frameworks-Debug-input-files.xcfilelist
│ ├── Pods-DynamicInputView-DynamicInputViewUITests-frameworks-Debug-output-files.xcfilelist
│ ├── Pods-DynamicInputView-DynamicInputViewUITests-frameworks-Release-input-files.xcfilelist
│ ├── Pods-DynamicInputView-DynamicInputViewUITests-frameworks-Release-output-files.xcfilelist
│ ├── Pods-DynamicInputView-DynamicInputViewUITests-frameworks.sh
│ ├── Pods-DynamicInputView-DynamicInputViewUITests-umbrella.h
│ ├── Pods-DynamicInputView-DynamicInputViewUITests.debug.xcconfig
│ ├── Pods-DynamicInputView-DynamicInputViewUITests.modulemap
│ └── Pods-DynamicInputView-DynamicInputViewUITests.release.xcconfig
│ ├── Pods-DynamicInputView
│ ├── Pods-DynamicInputView-Info.plist
│ ├── Pods-DynamicInputView-acknowledgements.markdown
│ ├── Pods-DynamicInputView-acknowledgements.plist
│ ├── Pods-DynamicInputView-dummy.m
│ ├── Pods-DynamicInputView-frameworks-Debug-input-files.xcfilelist
│ ├── Pods-DynamicInputView-frameworks-Debug-output-files.xcfilelist
│ ├── Pods-DynamicInputView-frameworks-Release-input-files.xcfilelist
│ ├── Pods-DynamicInputView-frameworks-Release-output-files.xcfilelist
│ ├── Pods-DynamicInputView-frameworks.sh
│ ├── Pods-DynamicInputView-umbrella.h
│ ├── Pods-DynamicInputView.debug.xcconfig
│ ├── Pods-DynamicInputView.modulemap
│ └── Pods-DynamicInputView.release.xcconfig
│ └── Pods-DynamicInputViewTests
│ ├── Pods-DynamicInputViewTests-Info.plist
│ ├── Pods-DynamicInputViewTests-acknowledgements.markdown
│ ├── Pods-DynamicInputViewTests-acknowledgements.plist
│ ├── Pods-DynamicInputViewTests-dummy.m
│ ├── Pods-DynamicInputViewTests-umbrella.h
│ ├── Pods-DynamicInputViewTests.debug.xcconfig
│ ├── Pods-DynamicInputViewTests.modulemap
│ └── Pods-DynamicInputViewTests.release.xcconfig
└── README.md
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/.DS_Store
--------------------------------------------------------------------------------
/DynamicInputView.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/DynamicInputView.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/DynamicInputView.xcodeproj/project.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView.xcodeproj/project.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/DynamicInputView.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | DynamicInputView.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 9
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/DynamicInputView.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/DynamicInputView.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/DynamicInputView.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/DynamicInputView.xcworkspace/xcuserdata/mac.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/DynamicInputView/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/.DS_Store
--------------------------------------------------------------------------------
/DynamicInputView/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/17.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (nonatomic , strong) UIWindow *window;
14 |
15 | @end
16 |
17 |
--------------------------------------------------------------------------------
/DynamicInputView/AppDelegate.m:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.m
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/17.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import "AppDelegate.h"
10 |
11 | @interface AppDelegate ()
12 |
13 | @end
14 |
15 | @implementation AppDelegate
16 |
17 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
18 | // Override point for customization after application launch.
19 | return YES;
20 | }
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "size": "20x20",
5 | "idiom": "iphone",
6 | "filename": "icon-20@2x.png",
7 | "scale": "2x"
8 | },
9 | {
10 | "size": "20x20",
11 | "idiom": "iphone",
12 | "filename": "icon-20@3x.png",
13 | "scale": "3x"
14 | },
15 | {
16 | "size": "29x29",
17 | "idiom": "iphone",
18 | "filename": "icon-29.png",
19 | "scale": "1x"
20 | },
21 | {
22 | "size": "29x29",
23 | "idiom": "iphone",
24 | "filename": "icon-29@2x.png",
25 | "scale": "2x"
26 | },
27 | {
28 | "size": "29x29",
29 | "idiom": "iphone",
30 | "filename": "icon-29@3x.png",
31 | "scale": "3x"
32 | },
33 | {
34 | "size": "40x40",
35 | "idiom": "iphone",
36 | "filename": "icon-40@2x.png",
37 | "scale": "2x"
38 | },
39 | {
40 | "size": "40x40",
41 | "idiom": "iphone",
42 | "filename": "icon-40@3x.png",
43 | "scale": "3x"
44 | },
45 | {
46 | "size": "60x60",
47 | "idiom": "iphone",
48 | "filename": "icon-60@2x.png",
49 | "scale": "2x"
50 | },
51 | {
52 | "size": "60x60",
53 | "idiom": "iphone",
54 | "filename": "icon-60@3x.png",
55 | "scale": "3x"
56 | },
57 | {
58 | "size": "20x20",
59 | "idiom": "ipad",
60 | "filename": "icon-20-ipad.png",
61 | "scale": "1x"
62 | },
63 | {
64 | "size": "20x20",
65 | "idiom": "ipad",
66 | "filename": "icon-20@2x-ipad.png",
67 | "scale": "2x"
68 | },
69 | {
70 | "size": "29x29",
71 | "idiom": "ipad",
72 | "filename": "icon-29-ipad.png",
73 | "scale": "1x"
74 | },
75 | {
76 | "size": "29x29",
77 | "idiom": "ipad",
78 | "filename": "icon-29@2x-ipad.png",
79 | "scale": "2x"
80 | },
81 | {
82 | "size": "40x40",
83 | "idiom": "ipad",
84 | "filename": "icon-40.png",
85 | "scale": "1x"
86 | },
87 | {
88 | "size": "40x40",
89 | "idiom": "ipad",
90 | "filename": "icon-40@2x.png",
91 | "scale": "2x"
92 | },
93 | {
94 | "size": "76x76",
95 | "idiom": "ipad",
96 | "filename": "icon-76.png",
97 | "scale": "1x"
98 | },
99 | {
100 | "size": "76x76",
101 | "idiom": "ipad",
102 | "filename": "icon-76@2x.png",
103 | "scale": "2x"
104 | },
105 | {
106 | "size": "83.5x83.5",
107 | "idiom": "ipad",
108 | "filename": "icon-83.5@2x.png",
109 | "scale": "2x"
110 | },
111 | {
112 | "size": "1024x1024",
113 | "idiom": "ios-marketing",
114 | "filename": "icon-1024.png",
115 | "scale": "1x"
116 | }
117 | ],
118 | "info": {
119 | "version": 1,
120 | "author": "icon.wuruihong.com"
121 | }
122 | }
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-1024.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-29.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-29@2x-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-29@2x-ipad.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-40.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-76.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/delete.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "delete.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 | }
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/delete.imageset/delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/delete.imageset/delete.png
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/logo.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "logo.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 | }
--------------------------------------------------------------------------------
/DynamicInputView/Assets.xcassets/logo.imageset/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Assets.xcassets/logo.imageset/logo.png
--------------------------------------------------------------------------------
/DynamicInputView/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 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/DynamicInputView/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 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/DynamicInputView/Example/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/DynamicInputView/Example/.DS_Store
--------------------------------------------------------------------------------
/DynamicInputView/Example/C/ExampleDynamicFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // ExampleDynamicInputInfoHeader.h
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/18.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface ExampleDynamicFooter : UIView
14 |
15 | @property (nonatomic , copy) NSString *text;
16 |
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/DynamicInputView/Example/C/ExampleDynamicFooter.m:
--------------------------------------------------------------------------------
1 | //
2 | // ExampleDynamicInputInfoHeader.m
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/18.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import "ExampleDynamicFooter.h"
10 |
11 | @interface ExampleDynamicFooter()
12 |
13 | @property (nonatomic , strong) UILabel *info;
14 | @end
15 |
16 | @implementation ExampleDynamicFooter
17 |
18 | - (void)setText:(NSString *)text {
19 | self.info.text = text;
20 | }
21 |
22 | - (instancetype)initWithFrame:(CGRect)frame {
23 | if (self == [super initWithFrame:frame]) {
24 | [self setupUI];
25 | self.backgroundColor = [UIColor whiteColor];
26 | }
27 | return self;
28 | }
29 |
30 | - (void)setupUI {
31 | [self addSubview:self.info];
32 | [self.info mas_makeConstraints:^(MASConstraintMaker *make) {
33 | make.left.equalTo(self).offset(10);
34 | make.right.equalTo(self).offset(-10);
35 | make.top.equalTo(self).offset(10);
36 | }];
37 | }
38 |
39 | - (UILabel *)info {
40 | if (_info == nil) {
41 | _info = [[UILabel alloc]init];
42 | _info.numberOfLines = 0;
43 | _info.font = [UIFont systemFontOfSize:14];
44 | }
45 | return _info;
46 | }
47 |
48 | @end
49 |
--------------------------------------------------------------------------------
/DynamicInputView/Example/C/ExampleDynamicHeader.h:
--------------------------------------------------------------------------------
1 | //
2 | // ExampleDynamicHeader.h
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/19.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface ExampleDynamicHeader : UIView
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/DynamicInputView/Example/C/ExampleDynamicHeader.m:
--------------------------------------------------------------------------------
1 | //
2 | // ExampleDynamicHeader.m
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/19.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import "ExampleDynamicHeader.h"
10 |
11 | @interface ExampleDynamicHeader()
12 |
13 | @property (nonatomic , strong) UILabel *info;
14 |
15 | @end
16 | @implementation ExampleDynamicHeader
17 |
18 | - (void)setText:(NSString *)text {
19 | self.info.text = text;
20 | }
21 |
22 | - (instancetype)initWithFrame:(CGRect)frame {
23 | if (self == [super initWithFrame:frame]) {
24 | [self setupUI];
25 | self.backgroundColor = [UIColor whiteColor];
26 | }
27 | return self;
28 | }
29 |
30 | - (void)setupUI {
31 | [self addSubview:self.info];
32 | [self.info mas_makeConstraints:^(MASConstraintMaker *make) {
33 | make.left.equalTo(self).offset(10);
34 | make.right.equalTo(self).offset(-10);
35 | make.top.equalTo(self).offset(10);
36 | }];
37 | }
38 |
39 | - (UILabel *)info {
40 | if (_info == nil) {
41 | _info = [[UILabel alloc]init];
42 | _info.numberOfLines = 0;
43 | _info.text = @"开发环境: Xcode 11.3\n系统: iOS13\n语言: Object-C\n需求: 实现点击删除输入内容,动态高度。";
44 | _info.font = [UIFont systemFontOfSize:14];
45 | }
46 | return _info;
47 | }
48 |
49 | @end
50 |
--------------------------------------------------------------------------------
/DynamicInputView/Example/C/ExampleDynamicInputCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // ExampleDynamicInputCell.h
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/17.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | typedef void (^ExampleDynamicInputCellGetHeightBlock)(float height , NSString *text);
14 |
15 | @interface ExampleDynamicInputCell : UITableViewCell
16 |
17 | /**
18 | * 获取并返回cell的高度
19 | */
20 | @property (nonatomic , copy) ExampleDynamicInputCellGetHeightBlock getHeightBlock;
21 |
22 | @end
23 |
24 | NS_ASSUME_NONNULL_END
25 |
--------------------------------------------------------------------------------
/DynamicInputView/Example/C/ExampleDynamicInputCell.m:
--------------------------------------------------------------------------------
1 | //
2 | // ExampleDynamicInputCell.m
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/17.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import "ExampleDynamicInputCell.h"
10 | #import "GHDynamicInputView.h"
11 |
12 | @interface ExampleDynamicInputCell()
13 |
14 | @property (nonatomic , strong) GHDynamicInputView *dynamicInputView;
15 | @property (nonatomic , assign) float height;
16 |
17 | @end
18 |
19 | @implementation ExampleDynamicInputCell
20 |
21 | - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
22 | if (self == [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
23 | [self setupUI];
24 | self.backgroundColor = [UIColor whiteColor];
25 | self.selectionStyle = UITableViewCellSelectionStyleNone;
26 | }
27 | return self;
28 | }
29 |
30 | - (void)setupUI {
31 | [self.contentView addSubview:self.dynamicInputView];
32 | [self.dynamicInputView mas_makeConstraints:^(MASConstraintMaker *make) {
33 | make.left.top.equalTo(self.contentView).offset(10);
34 | make.right.bottom.equalTo(self.contentView).offset(-10);
35 | }];
36 |
37 | weakself(self);
38 | self.dynamicInputView.getHeightBlock = ^(float height, NSString * _Nonnull text) {
39 | if (weakSelf.getHeightBlock) {
40 | weakSelf.getHeightBlock(height + 20,text);
41 | }
42 | };
43 | }
44 |
45 | - (GHDynamicInputView *)dynamicInputView {
46 | if (_dynamicInputView == nil) {
47 | _dynamicInputView = [[GHDynamicInputView alloc]init];
48 | _dynamicInputView.layer.borderColor = [UIColor lightGrayColor].CGColor;
49 | _dynamicInputView.layer.borderWidth = 1;
50 | _dynamicInputView.layer.masksToBounds = YES;
51 | _dynamicInputView.layer.cornerRadius = 5;
52 | _dynamicInputView.imageName = @"delete";
53 | _dynamicInputView.placeholder = @"请输入内容";
54 | }
55 | return _dynamicInputView;
56 | }
57 |
58 | @end
59 |
--------------------------------------------------------------------------------
/DynamicInputView/Example/C/ExampleDynamicInputInfoView.h:
--------------------------------------------------------------------------------
1 | //
2 | // ExampleDynamicInputInfoView.h
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/18.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface ExampleDynamicInputInfoView : UIView
14 |
15 | @property (nonatomic , copy) NSString *infoStr;
16 |
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/DynamicInputView/Example/C/ExampleDynamicInputInfoView.m:
--------------------------------------------------------------------------------
1 | //
2 | // ExampleDynamicInputInfoView.m
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/18.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import "ExampleDynamicInputInfoView.h"
10 |
11 | @interface ExampleDynamicInputInfoView()
12 |
13 | @property (nonatomic , strong) UILabel *info;
14 | @property (nonatomic , strong) UIView *line;
15 |
16 | @end
17 |
18 | @implementation ExampleDynamicInputInfoView
19 |
20 | - (void)setInfoStr:(NSString *)infoStr {
21 | self.info.text = infoStr;
22 | }
23 |
24 | - (instancetype)initWithFrame:(CGRect)frame {
25 | if (self == [super initWithFrame:frame]) {
26 | [self setupUI];
27 | }
28 | return self;
29 | }
30 |
31 | - (void)setupUI {
32 |
33 | [self addSubview:self.line];
34 | [self.line mas_makeConstraints:^(MASConstraintMaker *make) {
35 | make.left.equalTo(self).offset(10);
36 | make.height.equalTo(self).multipliedBy(0.5);
37 | make.centerY.equalTo(self);
38 | make.width.equalTo(@4);
39 | }];
40 |
41 | [self addSubview:self.info];
42 | [self.info mas_makeConstraints:^(MASConstraintMaker *make) {
43 | make.left.equalTo(self.line.mas_right).offset(10);
44 | make.right.equalTo(self).offset(-10);
45 | make.centerY.equalTo(self.line);
46 | }];
47 | }
48 |
49 | - (UIView *)line {
50 | if (_line == nil) {
51 | _line = [[UIView alloc]init];
52 | _line.backgroundColor = KMainColor;
53 | }
54 | return _line;
55 | }
56 |
57 | - (UILabel *)info {
58 | if (_info == nil) {
59 | _info = [[UILabel alloc]init];
60 | _info.font = [UIFont systemFontOfSize:12 weight:1];
61 | }
62 | return _info;
63 | }
64 |
65 | @end
66 |
--------------------------------------------------------------------------------
/DynamicInputView/Example/C/ExampleDynamicSectionFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // ExampleDynamicFooter.h
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/19.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | typedef void (^ExampleDynamicSectionFooterDidClickSureBlock)(void);
14 |
15 | @interface ExampleDynamicSectionFooter : UIView
16 |
17 | @property (nonatomic , copy) ExampleDynamicSectionFooterDidClickSureBlock didClickSureBlock;
18 |
19 | @end
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/DynamicInputView/Example/C/ExampleDynamicSectionFooter.m:
--------------------------------------------------------------------------------
1 | //
2 | // ExampleDynamicFooter.m
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/19.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import "ExampleDynamicSectionFooter.h"
10 |
11 | @interface ExampleDynamicSectionFooter ()
12 |
13 | @property (nonatomic , strong) UIButton *sure;
14 | @end
15 | @implementation ExampleDynamicSectionFooter
16 |
17 |
18 | - (instancetype)initWithFrame:(CGRect)frame {
19 | if (self == [super initWithFrame:frame]) {
20 | [self setupUI];
21 | self.backgroundColor = [UIColor whiteColor];
22 | }
23 | return self;
24 | }
25 |
26 | - (void)setupUI {
27 | [self addSubview:self.sure];
28 | [self.sure mas_makeConstraints:^(MASConstraintMaker *make) {
29 | make.left.top.equalTo(self).offset(10);
30 | make.right.bottom.equalTo(self).offset(-10);
31 | }];
32 | }
33 |
34 | - (void)clickSure {
35 | if (self.didClickSureBlock) {
36 | self.didClickSureBlock();
37 | }
38 | }
39 |
40 | - (UIButton *)sure {
41 | if (_sure == nil) {
42 | _sure = [[UIButton alloc]init];
43 | _sure.backgroundColor = KMainColor;
44 | [_sure setTitle:@"确定" forState:UIControlStateNormal];
45 | [_sure setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
46 | _sure.layer.masksToBounds = YES;
47 | [_sure addTarget:self action:@selector(clickSure) forControlEvents:UIControlEventTouchUpInside];
48 | _sure.layer.cornerRadius = 8;
49 | }
50 | return _sure;
51 | }
52 |
53 | @end
54 |
--------------------------------------------------------------------------------
/DynamicInputView/Example/V/ExampleViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ExampleViewController.h
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/17.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface ExampleViewController : UIViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/DynamicInputView/Example/V/ExampleViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // ExampleViewController.m
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/17.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import "ExampleViewController.h"
10 | #import "ExampleDynamicInputCell.h"
11 | #import "ExampleDynamicInputInfoView.h"
12 | #import "ExampleDynamicFooter.h"
13 | #import "ExampleDynamicSectionFooter.h"
14 | #import "ExampleDynamicHeader.h"
15 |
16 | @interface ExampleViewController ()
17 |
18 | @property (nonatomic , strong) UITableView *tableView;
19 | @property (nonatomic , assign) float height;
20 | @property (nonatomic , strong) ExampleDynamicFooter *footer;
21 | @property (nonatomic , strong) ExampleDynamicHeader *header;
22 |
23 | @end
24 |
25 | @implementation ExampleViewController
26 |
27 | - (void)viewDidLoad {
28 | [super viewDidLoad];
29 | self.navigationItem.title = @"GHDynamicInputView";
30 | [self setupUI];
31 | }
32 |
33 | - (void)setupUI {
34 | [self.view addSubview:self.tableView];
35 | self.tableView.tableHeaderView = self.header;
36 | self.tableView.tableFooterView = self.footer;
37 | }
38 |
39 | - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
40 | return 1;
41 | }
42 |
43 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
44 | return 1;
45 | }
46 |
47 | - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
48 | return 34;
49 | }
50 |
51 | - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
52 | return 64.01f;
53 | }
54 |
55 | - (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
56 | ExampleDynamicSectionFooter *view = [[ExampleDynamicSectionFooter alloc]init];
57 | weakself(self);
58 | view.didClickSureBlock = ^{
59 | [weakSelf.view endEditing:YES];
60 | };
61 | return view;
62 | }
63 |
64 | - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
65 | if (section == 0) {
66 | ExampleDynamicInputInfoView *view = [[ExampleDynamicInputInfoView alloc]init];
67 | view.infoStr = @"动态计算高度";
68 | return view;
69 | }
70 | return nil;
71 | }
72 |
73 | - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
74 | return self.height > 0 ?self.height:60;
75 | }
76 |
77 | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
78 | ExampleDynamicInputCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ExampleDynamicInputCellID"];
79 | weakself(self);
80 | cell.getHeightBlock = ^(float height, NSString * _Nonnull text) {
81 | weakSelf.height = height;
82 | weakSelf.footer.text = text;
83 | [weakSelf getLastFrameWithString:text];
84 | [weakSelf.tableView beginUpdates];
85 | [weakSelf.tableView endUpdates];
86 | };
87 | return cell;
88 | }
89 |
90 | - (void)getLastFrameWithString:(NSString *)string {
91 | CGRect frame = self.footer.frame;
92 | CGSize headerSize = [NSString sizeWithText:string andFont:[UIFont systemFontOfSize:14] andMaxSize:CGSizeMake(kScreenWidth - 20, CGFLOAT_MAX)];
93 | frame.size.height = headerSize.height + 20;
94 | [UIView animateWithDuration:0.25 animations:^{
95 | self.footer.frame = frame;
96 | }];
97 | }
98 |
99 | - (UITableView *)tableView {
100 | if (_tableView == nil) {
101 | _tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height) style:UITableViewStyleGrouped];
102 | _tableView.delegate = self;
103 | _tableView.dataSource = self;
104 | _tableView.showsVerticalScrollIndicator = NO;
105 | _tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;
106 | _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
107 | [_tableView registerClass:[ExampleDynamicInputCell class] forCellReuseIdentifier:@"ExampleDynamicInputCellID"];
108 | }
109 | return _tableView;
110 | }
111 |
112 | - (ExampleDynamicHeader *)header {
113 | if (_header == nil) {
114 | _header = [[ExampleDynamicHeader alloc]initWithFrame:CGRectMake(0, 0, 0, 90.01)];
115 | }
116 | return _header;
117 | }
118 |
119 | - (ExampleDynamicFooter *)footer {
120 | if (_footer == nil) {
121 | _footer = [[ExampleDynamicFooter alloc]initWithFrame:CGRectMake(0, 0, 0, 60.01)];
122 | }
123 | return _footer;
124 | }
125 |
126 | @end
127 |
--------------------------------------------------------------------------------
/DynamicInputView/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE)
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 |
35 | UISupportedInterfaceOrientations~ipad
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationPortraitUpsideDown
39 | UIInterfaceOrientationLandscapeLeft
40 | UIInterfaceOrientationLandscapeRight
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/DynamicInputView/NSString+GHome.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+GHome.h
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/18.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface NSString (GHome)
14 |
15 | + (CGSize)sizeWithText:(NSString *)text andFont:(UIFont *)font andMaxSize:(CGSize)maxSize;
16 |
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/DynamicInputView/NSString+GHome.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+GHome.m
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/18.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import "NSString+GHome.h"
10 |
11 | @implementation NSString (GHome)
12 |
13 | + (CGSize)sizeWithText:(NSString *)text andFont:(UIFont *)font andMaxSize:(CGSize)maxSize {
14 | CGSize expectedLabelSize = CGSizeZero;
15 |
16 | NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
17 | paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping;
18 | [paragraphStyle setLineSpacing:0];
19 | NSDictionary *attributes = @{NSFontAttributeName:font, NSParagraphStyleAttributeName:paragraphStyle.copy};
20 |
21 | expectedLabelSize = [text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attributes context:nil].size;
22 |
23 | return CGSizeMake(ceil(expectedLabelSize.width), ceil(expectedLabelSize.height));
24 | }
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/DynamicInputView/PrefixHeader.pch:
--------------------------------------------------------------------------------
1 | //
2 | // PrefixHeader.pch
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/18.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #ifndef PrefixHeader_pch
10 | #define PrefixHeader_pch
11 |
12 | #import "Masonry.h"
13 | #import "NSString+GHome.h"
14 |
15 | #define kISIphoneX [UIScreen mainScreen].bounds.size.height >= 812.0f
16 | #define kSafeStatusHeight ((kISIphoneX) ? 44 : 20)
17 | #define kSafeNavHeight ((kISIphoneX) ? 88 : 64)
18 | #define kSafeTabbarHeight ((kISIphoneX) ? 83 : 49)
19 | #define kSafeBottomHeight ((kISIphoneX) ? 34 : 0)
20 | #define kScreenWidth [UIScreen mainScreen].bounds.size.width
21 | #define kScreenHeight [UIScreen mainScreen].bounds.size.height
22 | #define weakself(self) __weak __typeof(self) weakSelf = self
23 |
24 | #define UIColorFromRGB(rgbValue) UIColorFromRGBA(rgbValue,1.0)
25 |
26 | #define UIColorFromRGBA(rgbValue,a) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:a]
27 |
28 | #ifdef DEBUG
29 | #define NSLog(format, ...) printf("%s\n", [[NSString stringWithFormat:(format), ##__VA_ARGS__] UTF8String]);
30 | #else
31 | #define NSLog(...) {}
32 | #endif
33 |
34 | #define KAlert(title,msg) [[[UIAlertView alloc] initWithTitle:title message:msg delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil] show]
35 |
36 | #define KMainColor UIColorFromRGB(0x017fff)
37 |
38 | #endif /* PrefixHeader_pch */
39 |
--------------------------------------------------------------------------------
/DynamicInputView/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/17.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "AppDelegate.h"
11 |
12 | int main(int argc, char * argv[]) {
13 | NSString * appDelegateClassName;
14 | @autoreleasepool {
15 | // Setup code that might create autoreleased objects goes here.
16 | appDelegateClassName = NSStringFromClass([AppDelegate class]);
17 | }
18 | return UIApplicationMain(argc, argv, nil, appDelegateClassName);
19 | }
20 |
--------------------------------------------------------------------------------
/DynamicInputViewTests/DynamicInputViewTests.m:
--------------------------------------------------------------------------------
1 | //
2 | // DynamicInputViewTests.m
3 | // DynamicInputViewTests
4 | //
5 | // Created by mac on 2020/1/17.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface DynamicInputViewTests : XCTestCase
12 |
13 | @end
14 |
15 | @implementation DynamicInputViewTests
16 |
17 | - (void)setUp {
18 | // Put setup code here. This method is called before the invocation of each test method in the class.
19 | }
20 |
21 | - (void)tearDown {
22 | // Put teardown code here. This method is called after the invocation of each test method in the class.
23 | }
24 |
25 | - (void)testExample {
26 | // This is an example of a functional test case.
27 | // Use XCTAssert and related functions to verify your tests produce the correct results.
28 | }
29 |
30 | - (void)testPerformanceExample {
31 | // This is an example of a performance test case.
32 | [self measureBlock:^{
33 | // Put the code you want to measure the time of here.
34 | }];
35 | }
36 |
37 | @end
38 |
--------------------------------------------------------------------------------
/DynamicInputViewTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE)
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/DynamicInputViewUITests/DynamicInputViewUITests.m:
--------------------------------------------------------------------------------
1 | //
2 | // DynamicInputViewUITests.m
3 | // DynamicInputViewUITests
4 | //
5 | // Created by mac on 2020/1/17.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface DynamicInputViewUITests : XCTestCase
12 |
13 | @end
14 |
15 | @implementation DynamicInputViewUITests
16 |
17 | - (void)setUp {
18 | // Put setup code here. This method is called before the invocation of each test method in the class.
19 |
20 | // In UI tests it is usually best to stop immediately when a failure occurs.
21 | self.continueAfterFailure = NO;
22 |
23 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
24 | }
25 |
26 | - (void)tearDown {
27 | // Put teardown code here. This method is called after the invocation of each test method in the class.
28 | }
29 |
30 | - (void)testExample {
31 | // UI tests must launch the application that they test.
32 | XCUIApplication *app = [[XCUIApplication alloc] init];
33 | [app launch];
34 |
35 | // Use recording to get started writing UI tests.
36 | // Use XCTAssert and related functions to verify your tests produce the correct results.
37 | }
38 |
39 | - (void)testLaunchPerformance {
40 | if (@available(macOS 10.15, iOS 13.0, tvOS 13.0, *)) {
41 | // This measures how long it takes to launch your application.
42 | [self measureWithMetrics:@[XCTOSSignpostMetric.applicationLaunchMetric] block:^{
43 | [[[XCUIApplication alloc] init] launch];
44 | }];
45 | }
46 | }
47 |
48 | @end
49 |
--------------------------------------------------------------------------------
/DynamicInputViewUITests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE)
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/GHDynamicInputView/GHDynamicInputView.h:
--------------------------------------------------------------------------------
1 | //
2 | // GHDynamicInputView.h
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/1/17.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @class GHDynamicInputView;
14 |
15 | typedef void (^GHDynamicInputViewGetHeightBlock)(float height ,NSString *text);
16 |
17 | @interface GHDynamicInputView : UIView
18 |
19 | /**
20 | * 获取高度回调
21 | */
22 | @property (nonatomic , copy) GHDynamicInputViewGetHeightBlock getHeightBlock;
23 |
24 | /**
25 | * 字号 默认14
26 | */
27 | @property (nonatomic , strong) UIFont *font;
28 |
29 | /**
30 | * inputViewbackgroundColor 默认clearColor
31 | */
32 | @property (nonatomic , strong) UIColor *inputViewbackgroundColor;
33 |
34 | /**
35 | * imageName
36 | */
37 | @property (nonatomic , copy) NSString *imageName;
38 |
39 | /**
40 | * 获取用户输入内容
41 | */
42 | - (NSString *)getInputText;
43 |
44 | /**
45 | * 获取用户输入内容
46 | */
47 | @property (nonatomic , copy) NSString *inputText;
48 |
49 | /**
50 | * 占位内容
51 | */
52 | @property (nonatomic , copy) NSString *placeholder;
53 |
54 | @end
55 |
56 |
57 |
58 | NS_ASSUME_NONNULL_END
59 |
--------------------------------------------------------------------------------
/GHDynamicInputView/GHLabel.h:
--------------------------------------------------------------------------------
1 | //
2 | // GHLabel.h
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/4/14.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | typedef enum {
14 | VerticalAlignmentTop = 0, // default
15 | VerticalAlignmentMiddle,
16 | VerticalAlignmentBottom,
17 | } VerticalAlignment;
18 |
19 | @interface GHLabel : UILabel
20 |
21 | @property (nonatomic) VerticalAlignment verticalAlignment;
22 |
23 | @end
24 |
25 | NS_ASSUME_NONNULL_END
26 |
--------------------------------------------------------------------------------
/GHDynamicInputView/GHLabel.m:
--------------------------------------------------------------------------------
1 | //
2 | // GHLabel.m
3 | // DynamicInputView
4 | //
5 | // Created by mac on 2020/4/14.
6 | // Copyright © 2020 GHome. All rights reserved.
7 | //
8 |
9 | #import "GHLabel.h"
10 |
11 | @interface GHLabel()
12 |
13 | @end
14 |
15 | @implementation GHLabel
16 |
17 | @synthesize verticalAlignment = verticalAlignment_;
18 |
19 | - (id)initWithFrame:(CGRect)frame {
20 | if (self = [super initWithFrame:frame]) {
21 | self.verticalAlignment = VerticalAlignmentMiddle;
22 | }
23 | return self;
24 | }
25 |
26 | - (void)setVerticalAlignment:(VerticalAlignment)verticalAlignment {
27 | verticalAlignment_ = verticalAlignment;
28 | [self setNeedsDisplay];
29 | }
30 |
31 | - (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines {
32 | CGRect textRect = [super textRectForBounds:bounds limitedToNumberOfLines:numberOfLines];
33 | textRect.origin.x = 3;
34 | switch (self.verticalAlignment) {
35 | case VerticalAlignmentTop:
36 | textRect.origin.y = bounds.origin.y;
37 | break;
38 | case VerticalAlignmentBottom:
39 | textRect.origin.y = bounds.origin.y + bounds.size.height - textRect.size.height;
40 | break;
41 | case VerticalAlignmentMiddle:
42 | // Fall through.
43 | default:
44 | textRect.origin.y = bounds.origin.y + (bounds.size.height - textRect.size.height) / 2.0;
45 | }
46 | return textRect;
47 | }
48 |
49 | - (void)drawTextInRect:(CGRect)requestedRect {
50 | CGRect actualRect = [self textRectForBounds:requestedRect limitedToNumberOfLines:self.numberOfLines];
51 | [super drawTextInRect:actualRect];
52 | }
53 |
54 | @end
55 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 GHome
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment the next line to define a global platform for your project
2 | platform :ios, '9.0'
3 |
4 | inhibit_all_warnings!
5 |
6 | pod 'Masonry', '1.0.0'
7 | pod 'IQKeyboardManager', '6.5.4'
8 |
9 | target 'DynamicInputView' do
10 | # Comment the next line if you don't want to use dynamic frameworks
11 | use_frameworks!
12 |
13 | # Pods for DynamicInputView
14 |
15 | target 'DynamicInputViewTests' do
16 | inherit! :search_paths
17 | # Pods for testing
18 | end
19 |
20 | target 'DynamicInputViewUITests' do
21 | # Pods for testing
22 | end
23 |
24 | end
25 |
--------------------------------------------------------------------------------
/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - IQKeyboardManager (6.5.4)
3 | - Masonry (1.0.0)
4 |
5 | DEPENDENCIES:
6 | - IQKeyboardManager (= 6.5.4)
7 | - Masonry (= 1.0.0)
8 |
9 | SPEC REPOS:
10 | trunk:
11 | - IQKeyboardManager
12 | - Masonry
13 |
14 | SPEC CHECKSUMS:
15 | IQKeyboardManager: 72b359cd7e777e3a984cedbe05f8da45320cbb63
16 | Masonry: b529bb169217897b6354d4b56b1fada6d475b13d
17 |
18 | PODFILE CHECKSUM: 375f2ce0155051f93fd1e85b9d4b50a2ea4b964c
19 |
20 | COCOAPODS: 1.8.4
21 |
--------------------------------------------------------------------------------
/Pods/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/Pods/.DS_Store
--------------------------------------------------------------------------------
/Pods/Headers/Private/IQKeyboardManager/IQBarButtonItem.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQBarButtonItem.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/IQKeyboardManager/IQKeyboardManager.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/IQKeyboardManager.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/IQKeyboardManager/IQKeyboardManagerConstants.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/Constants/IQKeyboardManagerConstants.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/IQKeyboardManager/IQKeyboardManagerConstantsInternal.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/Constants/IQKeyboardManagerConstantsInternal.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/IQKeyboardManager/IQKeyboardReturnKeyHandler.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/IQKeyboardReturnKeyHandler.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/IQKeyboardManager/IQNSArray+Sort.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQNSArray+Sort.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/IQKeyboardManager/IQPreviousNextView.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQPreviousNextView.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/IQKeyboardManager/IQTextView.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/IQTextView/IQTextView.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/IQKeyboardManager/IQTitleBarButtonItem.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQTitleBarButtonItem.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/IQKeyboardManager/IQToolbar.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQToolbar.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/IQKeyboardManager/IQUIScrollView+Additions.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUIScrollView+Additions.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/IQKeyboardManager/IQUITextFieldView+Additions.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUITextFieldView+Additions.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/IQKeyboardManager/IQUIView+Hierarchy.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUIView+Hierarchy.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/IQKeyboardManager/IQUIView+IQKeyboardToolbar.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQUIView+IQKeyboardToolbar.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/IQKeyboardManager/IQUIViewController+Additions.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUIViewController+Additions.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/Masonry/MASCompositeConstraint.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/MASCompositeConstraint.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/Masonry/MASConstraint+Private.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/MASConstraint+Private.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/Masonry/MASConstraint.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/MASConstraint.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/Masonry/MASConstraintMaker.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/MASConstraintMaker.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/Masonry/MASLayoutConstraint.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/MASLayoutConstraint.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/Masonry/MASUtilities.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/MASUtilities.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/Masonry/MASViewAttribute.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/MASViewAttribute.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/Masonry/MASViewConstraint.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/MASViewConstraint.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/Masonry/Masonry.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/Masonry.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/Masonry/NSArray+MASAdditions.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/NSArray+MASAdditions.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/Masonry/NSArray+MASShorthandAdditions.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/NSArray+MASShorthandAdditions.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/Masonry/NSLayoutConstraint+MASDebugAdditions.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/Masonry/View+MASAdditions.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/View+MASAdditions.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/Masonry/View+MASShorthandAdditions.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/View+MASShorthandAdditions.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/Masonry/ViewController+MASAdditions.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/ViewController+MASAdditions.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/IQKeyboardManager/IQBarButtonItem.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQBarButtonItem.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/IQKeyboardManager/IQKeyboardManager.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/IQKeyboardManager.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/IQKeyboardManager/IQKeyboardManagerConstants.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/Constants/IQKeyboardManagerConstants.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/IQKeyboardManager/IQKeyboardReturnKeyHandler.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/IQKeyboardReturnKeyHandler.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/IQKeyboardManager/IQPreviousNextView.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQPreviousNextView.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/IQKeyboardManager/IQTextView.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/IQTextView/IQTextView.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/IQKeyboardManager/IQTitleBarButtonItem.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQTitleBarButtonItem.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/IQKeyboardManager/IQToolbar.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQToolbar.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/IQKeyboardManager/IQUIScrollView+Additions.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUIScrollView+Additions.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/IQKeyboardManager/IQUITextFieldView+Additions.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUITextFieldView+Additions.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/IQKeyboardManager/IQUIView+Hierarchy.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUIView+Hierarchy.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/IQKeyboardManager/IQUIView+IQKeyboardToolbar.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQUIView+IQKeyboardToolbar.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/IQKeyboardManager/IQUIViewController+Additions.h:
--------------------------------------------------------------------------------
1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUIViewController+Additions.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/Masonry/MASCompositeConstraint.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/MASCompositeConstraint.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/Masonry/MASConstraint+Private.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/MASConstraint+Private.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/Masonry/MASConstraint.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/MASConstraint.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/Masonry/MASConstraintMaker.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/MASConstraintMaker.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/Masonry/MASLayoutConstraint.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/MASLayoutConstraint.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/Masonry/MASUtilities.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/MASUtilities.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/Masonry/MASViewAttribute.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/MASViewAttribute.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/Masonry/MASViewConstraint.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/MASViewConstraint.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/Masonry/Masonry.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/Masonry.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/Masonry/NSArray+MASAdditions.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/NSArray+MASAdditions.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/Masonry/NSArray+MASShorthandAdditions.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/NSArray+MASShorthandAdditions.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/Masonry/NSLayoutConstraint+MASDebugAdditions.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/Masonry/View+MASAdditions.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/View+MASAdditions.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/Masonry/View+MASShorthandAdditions.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/View+MASShorthandAdditions.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/Masonry/ViewController+MASAdditions.h:
--------------------------------------------------------------------------------
1 | ../../../Masonry/Masonry/ViewController+MASAdditions.h
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQNSArray+Sort.h:
--------------------------------------------------------------------------------
1 | //
2 | // IQNSArray+Sort.h
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-16 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #import
25 |
26 | @class UIView;
27 |
28 | /**
29 | UIView.subviews sorting category.
30 | */
31 | @interface NSArray (IQ_NSArray_Sort)
32 |
33 | ///--------------
34 | /// @name Sorting
35 | ///--------------
36 |
37 | /**
38 | Returns the array by sorting the UIView's by their tag property.
39 | */
40 | @property (nonnull, nonatomic, readonly, copy) NSArray<__kindof UIView*> * sortedArrayByTag;
41 |
42 | /**
43 | Returns the array by sorting the UIView's by their tag property.
44 | */
45 | @property (nonnull, nonatomic, readonly, copy) NSArray<__kindof UIView*> * sortedArrayByPosition;
46 |
47 | @end
48 |
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQNSArray+Sort.m:
--------------------------------------------------------------------------------
1 | //
2 | // IQNSArray+Sort.m
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-16 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #import "IQNSArray+Sort.h"
25 | #import "IQUIView+Hierarchy.h"
26 |
27 | #import
28 |
29 | @implementation NSArray (IQ_NSArray_Sort)
30 |
31 | - (NSArray*)sortedArrayByTag
32 | {
33 | return [self sortedArrayUsingComparator:^NSComparisonResult(UIView *view1, UIView *view2) {
34 |
35 | if ([view1 respondsToSelector:@selector(tag)] && [view2 respondsToSelector:@selector(tag)])
36 | {
37 | if ([view1 tag] < [view2 tag]) return NSOrderedAscending;
38 |
39 | else if ([view1 tag] > [view2 tag]) return NSOrderedDescending;
40 |
41 | else return NSOrderedSame;
42 | }
43 | else
44 | return NSOrderedSame;
45 | }];
46 | }
47 |
48 | - (NSArray*)sortedArrayByPosition
49 | {
50 | return [self sortedArrayUsingComparator:^NSComparisonResult(UIView *view1, UIView *view2) {
51 |
52 | CGFloat x1 = CGRectGetMinX(view1.frame);
53 | CGFloat y1 = CGRectGetMinY(view1.frame);
54 | CGFloat x2 = CGRectGetMinX(view2.frame);
55 | CGFloat y2 = CGRectGetMinY(view2.frame);
56 |
57 | if (y1 < y2) return NSOrderedAscending;
58 |
59 | else if (y1 > y2) return NSOrderedDescending;
60 |
61 | //Else both y are same so checking for x positions
62 | else if (x1 < x2) return NSOrderedAscending;
63 |
64 | else if (x1 > x2) return NSOrderedDescending;
65 |
66 | else return NSOrderedSame;
67 | }];
68 | }
69 |
70 |
71 | @end
72 |
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQUIScrollView+Additions.h:
--------------------------------------------------------------------------------
1 | //
2 | // IQUIScrollView+Additions.h
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-16 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #import
25 | #import
26 |
27 |
28 | @interface UIScrollView (Additions)
29 |
30 | /**
31 | If YES, then scrollview will ignore scrolling (simply not scroll it) for adjusting textfield position. Default is NO.
32 | */
33 | @property(nonatomic, assign) BOOL shouldIgnoreScrollingAdjustment;
34 |
35 | /**
36 | Restore scrollViewContentOffset when resigning from scrollView. Default is NO.
37 | */
38 | @property(nonatomic, assign) BOOL shouldRestoreScrollViewContentOffset;
39 |
40 |
41 | @end
42 |
43 | @interface UITableView (PreviousNextIndexPath)
44 |
45 | -(nullable NSIndexPath*)previousIndexPathOfIndexPath:(nonnull NSIndexPath*)indexPath;
46 | //-(nullable NSIndexPath*)nextIndexPathOfIndexPath:(nonnull NSIndexPath*)indexPath;
47 |
48 | @end
49 |
50 | @interface UICollectionView (PreviousNextIndexPath)
51 |
52 | -(nullable NSIndexPath*)previousIndexPathOfIndexPath:(nonnull NSIndexPath*)indexPath;
53 | //-(nullable NSIndexPath*)nextIndexPathOfIndexPath:(nonnull NSIndexPath*)indexPath;
54 |
55 | @end
56 |
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQUIScrollView+Additions.m:
--------------------------------------------------------------------------------
1 | //
2 | // IQUIScrollView+Additions.m
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-16 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #import "IQUIScrollView+Additions.h"
25 | #import
26 |
27 | @implementation UIScrollView (Additions)
28 |
29 | -(void)setShouldIgnoreScrollingAdjustment:(BOOL)shouldIgnoreScrollingAdjustment
30 | {
31 | objc_setAssociatedObject(self, @selector(shouldIgnoreScrollingAdjustment), @(shouldIgnoreScrollingAdjustment), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
32 | }
33 |
34 | -(BOOL)shouldIgnoreScrollingAdjustment
35 | {
36 | NSNumber *shouldIgnoreScrollingAdjustment = objc_getAssociatedObject(self, @selector(shouldIgnoreScrollingAdjustment));
37 |
38 | return [shouldIgnoreScrollingAdjustment boolValue];
39 | }
40 |
41 | -(void)setShouldRestoreScrollViewContentOffset:(BOOL)shouldRestoreScrollViewContentOffset
42 | {
43 | objc_setAssociatedObject(self, @selector(shouldRestoreScrollViewContentOffset), @(shouldRestoreScrollViewContentOffset), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
44 | }
45 |
46 | -(BOOL)shouldRestoreScrollViewContentOffset
47 | {
48 | NSNumber *shouldRestoreScrollViewContentOffset = objc_getAssociatedObject(self, @selector(shouldRestoreScrollViewContentOffset));
49 |
50 | return [shouldRestoreScrollViewContentOffset boolValue];
51 | }
52 |
53 | @end
54 |
55 | @implementation UITableView (PreviousNextIndexPath)
56 |
57 | -(nullable NSIndexPath*)previousIndexPathOfIndexPath:(nonnull NSIndexPath*)indexPath
58 | {
59 | NSInteger previousRow = indexPath.row - 1;
60 | NSInteger previousSection = indexPath.section;
61 |
62 | //Fixing indexPath
63 | if (previousRow < 0)
64 | {
65 | previousSection -= 1;
66 |
67 | if (previousSection >= 0)
68 | {
69 | previousRow = [self numberOfRowsInSection:previousSection]-1;
70 | }
71 | }
72 |
73 | if (previousRow >= 0 && previousSection >= 0)
74 | {
75 | return [NSIndexPath indexPathForRow:previousRow inSection:previousSection];
76 | }
77 |
78 | return nil;
79 | }
80 |
81 | //-(nullable NSIndexPath*)nextIndexPathOfIndexPath:(nonnull NSIndexPath*)indexPath
82 | //{
83 | // NSInteger nextRow = indexPath.row + 1;
84 | // NSInteger nextSection = indexPath.section;
85 | //
86 | // //Fixing indexPath
87 | // if (nextRow >= [self numberOfRowsInSection:nextSection])
88 | // {
89 | // nextRow = 0;
90 | // nextSection += 1;
91 | // }
92 | //
93 | // if (self.numberOfSections > nextSection && [self numberOfRowsInSection:nextSection] > nextRow)
94 | // {
95 | // return [NSIndexPath indexPathForItem:nextRow inSection:nextSection];
96 | // }
97 | //
98 | // return nil;
99 | //}
100 | //
101 | @end
102 |
103 | @implementation UICollectionView (PreviousNextIndexPath)
104 |
105 | -(nullable NSIndexPath*)previousIndexPathOfIndexPath:(nonnull NSIndexPath*)indexPath
106 | {
107 | NSInteger previousRow = indexPath.row - 1;
108 | NSInteger previousSection = indexPath.section;
109 |
110 | //Fixing indexPath
111 | if (previousRow < 0)
112 | {
113 | previousSection -= 1;
114 |
115 | if (previousSection >= 0)
116 | {
117 | previousRow = [self numberOfItemsInSection:previousSection]-1;
118 | }
119 | }
120 |
121 | if (previousRow >= 0 && previousSection >= 0)
122 | {
123 | return [NSIndexPath indexPathForItem:previousRow inSection:previousSection];
124 | }
125 |
126 | return nil;
127 | }
128 |
129 | //-(nullable NSIndexPath*)nextIndexPathOfIndexPath:(nonnull NSIndexPath*)indexPath
130 | //{
131 | // NSInteger nextRow = indexPath.row + 1;
132 | // NSInteger nextSection = indexPath.section;
133 | //
134 | // //Fixing indexPath
135 | // if (nextRow >= [self numberOfItemsInSection:nextSection])
136 | // {
137 | // nextRow = 0;
138 | // nextSection += 1;
139 | // }
140 | //
141 | // if (self.numberOfSections > nextSection && [self numberOfItemsInSection:nextSection] > nextRow)
142 | // {
143 | // return [NSIndexPath indexPathForItem:nextRow inSection:nextSection];
144 | // }
145 | //
146 | // return nil;
147 | //}
148 |
149 | @end
150 |
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQUITextFieldView+Additions.h:
--------------------------------------------------------------------------------
1 | //
2 | // IQUITextFieldView+Additions.h
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-16 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #import
25 | #import "IQKeyboardManagerConstants.h"
26 |
27 | /**
28 | UIView category for managing UITextField/UITextView
29 | */
30 |
31 | @interface UIView (Additions)
32 |
33 | /**
34 | To set customized distance from keyboard for textField/textView. Can't be less than zero
35 | */
36 | @property(nonatomic, assign) CGFloat keyboardDistanceFromTextField;
37 |
38 | /**
39 | If shouldIgnoreSwitchingByNextPrevious is YES then library will ignore this textField/textView while moving to other textField/textView using keyboard toolbar next previous buttons. Default is NO
40 | */
41 | @property(nonatomic, assign) BOOL ignoreSwitchingByNextPrevious;
42 |
43 | ///**
44 | // Override Enable/disable managing distance between keyboard and textField behaviour for this particular textField.
45 | // */
46 | @property(nonatomic, assign) IQEnableMode enableMode;
47 |
48 | /**
49 | Override resigns Keyboard on touching outside of UITextField/View behaviour for this particular textField.
50 | */
51 | @property(nonatomic, assign) IQEnableMode shouldResignOnTouchOutsideMode;
52 |
53 | @end
54 |
55 | ///-------------------------------------------
56 | /// @name Custom KeyboardDistanceFromTextField
57 | ///-------------------------------------------
58 |
59 | /**
60 | Uses default keyboard distance for textField.
61 | */
62 | extern CGFloat const kIQUseDefaultKeyboardDistance;
63 |
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQUITextFieldView+Additions.m:
--------------------------------------------------------------------------------
1 | //
2 | // IQUITextFieldView+Additions.m
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-16 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #import "IQUITextFieldView+Additions.h"
25 | #import
26 |
27 | @implementation UIView (Additions)
28 |
29 | -(void)setKeyboardDistanceFromTextField:(CGFloat)keyboardDistanceFromTextField
30 | {
31 | //Can't be less than zero. Minimum is zero.
32 | keyboardDistanceFromTextField = MAX(keyboardDistanceFromTextField, 0);
33 |
34 | objc_setAssociatedObject(self, @selector(keyboardDistanceFromTextField), @(keyboardDistanceFromTextField), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
35 | }
36 |
37 | -(CGFloat)keyboardDistanceFromTextField
38 | {
39 | NSNumber *keyboardDistanceFromTextField = objc_getAssociatedObject(self, @selector(keyboardDistanceFromTextField));
40 |
41 | return (keyboardDistanceFromTextField != nil)?[keyboardDistanceFromTextField floatValue]:kIQUseDefaultKeyboardDistance;
42 | }
43 |
44 | -(void)setIgnoreSwitchingByNextPrevious:(BOOL)ignoreSwitchingByNextPrevious
45 | {
46 | objc_setAssociatedObject(self, @selector(ignoreSwitchingByNextPrevious), @(ignoreSwitchingByNextPrevious), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
47 | }
48 |
49 | -(BOOL)ignoreSwitchingByNextPrevious
50 | {
51 | NSNumber *ignoreSwitchingByNextPrevious = objc_getAssociatedObject(self, @selector(ignoreSwitchingByNextPrevious));
52 |
53 | return [ignoreSwitchingByNextPrevious boolValue];
54 | }
55 |
56 | -(void)setEnableMode:(IQEnableMode)enableMode
57 | {
58 | objc_setAssociatedObject(self, @selector(enableMode), @(enableMode), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
59 | }
60 |
61 | -(IQEnableMode)enableMode
62 | {
63 | NSNumber *enableMode = objc_getAssociatedObject(self, @selector(enableMode));
64 |
65 | return [enableMode unsignedIntegerValue];
66 | }
67 |
68 | -(void)setShouldResignOnTouchOutsideMode:(IQEnableMode)shouldResignOnTouchOutsideMode
69 | {
70 | objc_setAssociatedObject(self, @selector(shouldResignOnTouchOutsideMode), @(shouldResignOnTouchOutsideMode), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
71 | }
72 |
73 | -(IQEnableMode)shouldResignOnTouchOutsideMode
74 | {
75 | NSNumber *shouldResignOnTouchOutsideMode = objc_getAssociatedObject(self, @selector(shouldResignOnTouchOutsideMode));
76 |
77 | return [shouldResignOnTouchOutsideMode unsignedIntegerValue];
78 | }
79 |
80 | @end
81 |
82 | ///------------------------------------
83 | /// @name keyboardDistanceFromTextField
84 | ///------------------------------------
85 |
86 | /**
87 | Uses default keyboard distance for textField.
88 | */
89 | CGFloat const kIQUseDefaultKeyboardDistance = CGFLOAT_MAX;
90 |
91 |
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQUIViewController+Additions.h:
--------------------------------------------------------------------------------
1 | //
2 | // IQUIViewController+Additions.h
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-16 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #import
25 |
26 | @class NSLayoutConstraint;
27 |
28 | @interface UIViewController (Additions)
29 |
30 | /**
31 | Top/Bottom Layout constraint which help library to manage keyboardTextField distance
32 |
33 | @deprecated Due to change in core-logic of handling distance between textField and keyboard distance, this layout contraint tweak is no longer needed and things will just work out of the box regardless of constraint pinned with safeArea/layoutGuide/superview.
34 | */
35 | @property(nullable, nonatomic, strong) IBOutlet NSLayoutConstraint *IQLayoutGuideConstraint __attribute__((deprecated("Due to change in core-logic of handling distance between textField and keyboard distance, this layout contraint tweak is no longer needed and things will just work out of the box regardless of constraint pinned with safeArea/layoutGuide/superview.")));
36 |
37 | @end
38 |
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQUIViewController+Additions.m:
--------------------------------------------------------------------------------
1 | //
2 | // IQUIViewController+Additions.m
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-16 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #import "IQUIViewController+Additions.h"
25 | #import
26 | #import
27 |
28 | @implementation UIViewController (Additions)
29 |
30 | -(void)setIQLayoutGuideConstraint:(NSLayoutConstraint *)IQLayoutGuideConstraint
31 | {
32 | objc_setAssociatedObject(self, @selector(IQLayoutGuideConstraint), IQLayoutGuideConstraint, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
33 | }
34 |
35 | -(NSLayoutConstraint *)IQLayoutGuideConstraint
36 | {
37 | return objc_getAssociatedObject(self, @selector(IQLayoutGuideConstraint));
38 | }
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Constants/IQKeyboardManagerConstantsInternal.h:
--------------------------------------------------------------------------------
1 | //
2 | // IQKeyboardManagerConstantsInternal.h
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-16 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #ifndef IQKeyboardManagerConstantsInternal_h
25 | #define IQKeyboardManagerConstantsInternal_h
26 |
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/IQKeyboardReturnKeyHandler.h:
--------------------------------------------------------------------------------
1 | //
2 | // IQKeyboardReturnKeyHandler.h
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-16 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #import "IQKeyboardManagerConstants.h"
25 |
26 | #import
27 | #import
28 |
29 | #import
30 |
31 | @class UITextField, UIView, UIViewController;
32 | @protocol UITextFieldDelegate, UITextViewDelegate;
33 |
34 | /**
35 | Manages the return key to work like next/done in a view hierarchy.
36 | */
37 | @interface IQKeyboardReturnKeyHandler : NSObject
38 |
39 | ///----------------------
40 | /// @name Initializations
41 | ///----------------------
42 |
43 | /**
44 | Add all the textFields available in UIViewController's view.
45 | */
46 | -(nonnull instancetype)initWithViewController:(nullable UIViewController*)controller NS_DESIGNATED_INITIALIZER;
47 |
48 | /**
49 | Unavailable. Please use initWithViewController: or init method
50 | */
51 | -(nonnull instancetype)initWithCoder:(nullable NSCoder *)aDecoder NS_UNAVAILABLE;
52 |
53 | ///---------------
54 | /// @name Settings
55 | ///---------------
56 |
57 | /**
58 | Delegate of textField/textView.
59 | */
60 | @property(nullable, nonatomic, weak) id delegate;
61 |
62 | /**
63 | Set the last textfield return key type. Default is UIReturnKeyDefault.
64 | */
65 | @property(nonatomic, assign) UIReturnKeyType lastTextFieldReturnKeyType;
66 |
67 | ///----------------------------------------------
68 | /// @name Registering/Unregistering textFieldView
69 | ///----------------------------------------------
70 |
71 | /**
72 | Should pass UITextField/UITextView instance. Assign textFieldView delegate to self, change it's returnKeyType.
73 |
74 | @param textFieldView UITextField/UITextView object to register.
75 | */
76 | -(void)addTextFieldView:(nonnull UIView*)textFieldView;
77 |
78 | /**
79 | Should pass UITextField/UITextView instance. Restore it's textFieldView delegate and it's returnKeyType.
80 |
81 | @param textFieldView UITextField/UITextView object to unregister.
82 | */
83 | -(void)removeTextFieldView:(nonnull UIView*)textFieldView;
84 |
85 | /**
86 | Add all the UITextField/UITextView responderView's.
87 |
88 | @param view object to register all it's responder subviews.
89 | */
90 | -(void)addResponderFromView:(nonnull UIView*)view;
91 |
92 | /**
93 | Remove all the UITextField/UITextView responderView's.
94 |
95 | @param view object to unregister all it's responder subviews.
96 | */
97 | -(void)removeResponderFromView:(nonnull UIView*)view;
98 |
99 | @end
100 |
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/IQTextView/IQTextView.h:
--------------------------------------------------------------------------------
1 | //
2 | // IQTextView.h
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-16 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #import "IQKeyboardManagerConstants.h"
25 |
26 | #import
27 |
28 | /**
29 | UITextView with placeholder support
30 | */
31 | @interface IQTextView : UITextView
32 |
33 | /**
34 | Set textView's placeholder text. Default is nil.
35 | */
36 | @property(nullable, nonatomic,copy) IBInspectable NSString *placeholder;
37 |
38 | /**
39 | Set textView's placeholder attributed text. Default is nil.
40 | */
41 | @property(nullable, nonatomic,copy) IBInspectable NSAttributedString *attributedPlaceholder;
42 |
43 | /**
44 | To set textView's placeholder text color. Default is nil.
45 | */
46 | @property(nullable, nonatomic,copy) IBInspectable UIColor *placeholderTextColor;
47 |
48 | @end
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/IQToolbar/IQBarButtonItem.h:
--------------------------------------------------------------------------------
1 | //
2 | // IQBarButtonItem.h
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-16 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #import
25 |
26 | @class NSInvocation;
27 |
28 | /**
29 | IQBarButtonItem used for IQToolbar.
30 | */
31 | @interface IQBarButtonItem : UIBarButtonItem
32 |
33 | /**
34 | Boolean to know if it's a system item or custom item
35 | */
36 | @property (nonatomic, readonly) BOOL isSystemItem;
37 |
38 | /**
39 | Additional target & action to do get callback action. Note that setting custom target & selector doesn't affect native functionality, this is just an additional target to get a callback.
40 |
41 | @param target Target object.
42 | @param action Target Selector.
43 | */
44 | -(void)setTarget:(nullable id)target action:(nullable SEL)action;
45 |
46 | /**
47 | Customized Invocation to be called when button is pressed. invocation is internally created using setTarget:action: method.
48 | */
49 | @property (nullable, strong, nonatomic) NSInvocation *invocation;
50 |
51 | @end
52 |
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/IQToolbar/IQBarButtonItem.m:
--------------------------------------------------------------------------------
1 | //
2 | // IQBarButtonItem.m
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-16 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #import "IQBarButtonItem.h"
25 | #import "IQKeyboardManagerConstantsInternal.h"
26 | #import
27 |
28 | @implementation IQBarButtonItem
29 |
30 | +(void)initialize
31 | {
32 | [super initialize];
33 |
34 | IQBarButtonItem *appearanceProxy = [self appearance];
35 |
36 | NSArray *states = @[@(UIControlStateNormal),@(UIControlStateHighlighted),@(UIControlStateDisabled),@(UIControlStateSelected),@(UIControlStateApplication),@(UIControlStateReserved)];
37 |
38 | for (NSNumber *state in states)
39 | {
40 | UIControlState controlState = [state unsignedIntegerValue];
41 |
42 | [appearanceProxy setBackgroundImage:nil forState:controlState barMetrics:UIBarMetricsDefault];
43 | [appearanceProxy setBackgroundImage:nil forState:controlState style:UIBarButtonItemStyleDone barMetrics:UIBarMetricsDefault];
44 | [appearanceProxy setBackgroundImage:nil forState:controlState style:UIBarButtonItemStylePlain barMetrics:UIBarMetricsDefault];
45 | [appearanceProxy setBackButtonBackgroundImage:nil forState:controlState barMetrics:UIBarMetricsDefault];
46 | }
47 |
48 | [appearanceProxy setTitlePositionAdjustment:UIOffsetZero forBarMetrics:UIBarMetricsDefault];
49 | [appearanceProxy setBackgroundVerticalPositionAdjustment:0 forBarMetrics:UIBarMetricsDefault];
50 | [appearanceProxy setBackButtonBackgroundVerticalPositionAdjustment:0 forBarMetrics:UIBarMetricsDefault];
51 | }
52 |
53 | -(void)setTintColor:(UIColor *)tintColor
54 | {
55 | [super setTintColor:tintColor];
56 |
57 | //titleTextAttributes tweak is to overcome an issue comes with iOS11 where appearanceProxy set for NSForegroundColorAttributeName and bar button texts start appearing in appearance proxy color
58 | NSMutableDictionary *textAttributes = [[self titleTextAttributesForState:UIControlStateNormal] mutableCopy]?:[NSMutableDictionary new];
59 |
60 | textAttributes[NSForegroundColorAttributeName] = tintColor;
61 |
62 | [self setTitleTextAttributes:textAttributes forState:UIControlStateNormal];
63 | }
64 |
65 | - (instancetype)initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem target:(nullable id)target action:(nullable SEL)action
66 | {
67 | self = [super initWithBarButtonSystemItem:systemItem target:target action:action];
68 |
69 | if (self)
70 | {
71 | _isSystemItem = YES;
72 | }
73 |
74 | return self;
75 | }
76 |
77 |
78 | -(void)setTarget:(nullable id)target action:(nullable SEL)action
79 | {
80 | NSInvocation *invocation = nil;
81 |
82 | if (target && action)
83 | {
84 | invocation = [NSInvocation invocationWithMethodSignature:[target methodSignatureForSelector:action]];
85 | invocation.target = target;
86 | invocation.selector = action;
87 | }
88 |
89 | self.invocation = invocation;
90 | }
91 |
92 | -(void)dealloc
93 | {
94 | self.target = nil;
95 | self.invocation = nil;
96 | }
97 |
98 | @end
99 |
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/IQToolbar/IQPreviousNextView.h:
--------------------------------------------------------------------------------
1 | //
2 | // IQPreviousNextView.h
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-16 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #import
25 | /**
26 | If you need to enable previous/next toolbar button with some complex hierarchy where your textFields are not in same view, then make the top view as IQPreviousNextView.
27 | */
28 | @interface IQPreviousNextView : UIView
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/IQToolbar/IQPreviousNextView.m:
--------------------------------------------------------------------------------
1 | //
2 | // IQPreviousNextView.m
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-16 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #import "IQPreviousNextView.h"
25 |
26 | @implementation IQPreviousNextView
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/IQToolbar/IQTitleBarButtonItem.h:
--------------------------------------------------------------------------------
1 | //
2 | // IQTitleBarButtonItem.h
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-16 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #import "IQKeyboardManagerConstants.h"
25 | #import "IQBarButtonItem.h"
26 |
27 | #import
28 |
29 | /**
30 | BarButtonItem with title text.
31 | */
32 | @interface IQTitleBarButtonItem : IQBarButtonItem
33 |
34 | /**
35 | Font to be used in bar button. Default is (system font 12.0 bold).
36 | */
37 | @property(nullable, nonatomic, strong) UIFont *titleFont;
38 |
39 | /**
40 | titleColor to be used for displaying button text when displaying title (disabled state).
41 | */
42 | @property(nullable, nonatomic, strong) UIColor *titleColor;
43 |
44 | /**
45 | selectableTitleColor to be used for displaying button text when button is enabled.
46 | */
47 | @property(nullable, nonatomic, strong) UIColor *selectableTitleColor;
48 |
49 | /**
50 | Initialize with frame and title.
51 |
52 | @param title Title of barButtonItem.
53 | */
54 | -(nonnull instancetype)initWithTitle:(nullable NSString *)title NS_DESIGNATED_INITIALIZER;
55 |
56 | /**
57 | Unavailable. Please use initWithFrame:title: method
58 | */
59 | -(nonnull instancetype)init NS_UNAVAILABLE;
60 |
61 | /**
62 | Unavailable. Please use initWithFrame:title: method
63 | */
64 | -(nonnull instancetype)initWithCoder:(nullable NSCoder *)aDecoder NS_UNAVAILABLE;
65 |
66 | /**
67 | Unavailable. Please use initWithFrame:title: method
68 | */
69 | + (nonnull instancetype)new NS_UNAVAILABLE;
70 |
71 | @end
72 |
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/IQToolbar/IQToolbar.h:
--------------------------------------------------------------------------------
1 | //
2 | // IQToolbar.h
3 | // https://github.com/hackiftekhar/IQKeyboardManager
4 | // Copyright (c) 2013-16 Iftekhar Qurashi.
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #import "IQTitleBarButtonItem.h"
25 |
26 | #import
27 | #import
28 |
29 | /**
30 | IQToolbar for IQKeyboardManager.
31 | */
32 | @interface IQToolbar : UIToolbar
33 |
34 | /**
35 | Previous bar button of toolbar.
36 | */
37 | @property(nonnull, nonatomic, strong) IQBarButtonItem *previousBarButton;
38 |
39 | /**
40 | Next bar button of toolbar.
41 | */
42 | @property(nonnull, nonatomic, strong) IQBarButtonItem *nextBarButton;
43 |
44 | /**
45 | Title bar button of toolbar.
46 | */
47 | @property(nonnull, nonatomic, strong, readonly) IQTitleBarButtonItem *titleBarButton;
48 |
49 | /**
50 | Done bar button of toolbar.
51 | */
52 | @property(nonnull, nonatomic, strong) IQBarButtonItem *doneBarButton;
53 |
54 | /**
55 | Fixed space bar button of toolbar.
56 | */
57 | @property(nonnull, nonatomic, strong) IQBarButtonItem *fixedSpaceBarButton;
58 |
59 | @end
60 |
61 |
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowDown.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "IQButtonBarArrowDown@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "IQButtonBarArrowDown@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowDown.imageset/IQButtonBarArrowDown@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowDown.imageset/IQButtonBarArrowDown@2x.png
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowDown.imageset/IQButtonBarArrowDown@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowDown.imageset/IQButtonBarArrowDown@3x.png
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowLeft.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "IQButtonBarArrowLeft@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "IQButtonBarArrowLeft@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowLeft.imageset/IQButtonBarArrowLeft@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowLeft.imageset/IQButtonBarArrowLeft@2x.png
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowLeft.imageset/IQButtonBarArrowLeft@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowLeft.imageset/IQButtonBarArrowLeft@3x.png
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowRight.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "IQButtonBarArrowRight@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "IQButtonBarArrowRight@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowRight.imageset/IQButtonBarArrowRight@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowRight.imageset/IQButtonBarArrowRight@2x.png
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowRight.imageset/IQButtonBarArrowRight@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowRight.imageset/IQButtonBarArrowRight@3x.png
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowUp.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "IQButtonBarArrowUp@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "IQButtonBarArrowUp@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowUp.imageset/IQButtonBarArrowUp@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowUp.imageset/IQButtonBarArrowUp@2x.png
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowUp.imageset/IQButtonBarArrowUp@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shabake/GHDynamicInputView/1ae1f5533187d6c9f4758e2938ef325425c219e0/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.xcassets/IQButtonBarArrowUp.imageset/IQButtonBarArrowUp@3x.png
--------------------------------------------------------------------------------
/Pods/IQKeyboardManager/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2013-2017 Iftekhar Qurashi
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - IQKeyboardManager (6.5.4)
3 | - Masonry (1.0.0)
4 |
5 | DEPENDENCIES:
6 | - IQKeyboardManager (= 6.5.4)
7 | - Masonry (= 1.0.0)
8 |
9 | SPEC REPOS:
10 | trunk:
11 | - IQKeyboardManager
12 | - Masonry
13 |
14 | SPEC CHECKSUMS:
15 | IQKeyboardManager: 72b359cd7e777e3a984cedbe05f8da45320cbb63
16 | Masonry: b529bb169217897b6354d4b56b1fada6d475b13d
17 |
18 | PODFILE CHECKSUM: 375f2ce0155051f93fd1e85b9d4b50a2ea4b964c
19 |
20 | COCOAPODS: 1.8.4
21 |
--------------------------------------------------------------------------------
/Pods/Masonry/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/MASCompositeConstraint.h:
--------------------------------------------------------------------------------
1 | //
2 | // MASCompositeConstraint.h
3 | // Masonry
4 | //
5 | // Created by Jonas Budelmann on 21/07/13.
6 | // Copyright (c) 2013 cloudling. All rights reserved.
7 | //
8 |
9 | #import "MASConstraint.h"
10 | #import "MASUtilities.h"
11 |
12 | /**
13 | * A group of MASConstraint objects
14 | */
15 | @interface MASCompositeConstraint : MASConstraint
16 |
17 | /**
18 | * Creates a composite with a predefined array of children
19 | *
20 | * @param children child MASConstraints
21 | *
22 | * @return a composite constraint
23 | */
24 | - (id)initWithChildren:(NSArray *)children;
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/MASConstraint+Private.h:
--------------------------------------------------------------------------------
1 | //
2 | // MASConstraint+Private.h
3 | // Masonry
4 | //
5 | // Created by Nick Tymchenko on 29/04/14.
6 | // Copyright (c) 2014 cloudling. All rights reserved.
7 | //
8 |
9 | #import "MASConstraint.h"
10 |
11 | @protocol MASConstraintDelegate;
12 |
13 |
14 | @interface MASConstraint ()
15 |
16 | /**
17 | * Whether or not to check for an existing constraint instead of adding constraint
18 | */
19 | @property (nonatomic, assign) BOOL updateExisting;
20 |
21 | /**
22 | * Usually MASConstraintMaker but could be a parent MASConstraint
23 | */
24 | @property (nonatomic, weak) id delegate;
25 |
26 | /**
27 | * Based on a provided value type, is equal to calling:
28 | * NSNumber - setOffset:
29 | * NSValue with CGPoint - setPointOffset:
30 | * NSValue with CGSize - setSizeOffset:
31 | * NSValue with MASEdgeInsets - setInsets:
32 | */
33 | - (void)setLayoutConstantWithValue:(NSValue *)value;
34 |
35 | @end
36 |
37 |
38 | @interface MASConstraint (Abstract)
39 |
40 | /**
41 | * Sets the constraint relation to given NSLayoutRelation
42 | * returns a block which accepts one of the following:
43 | * MASViewAttribute, UIView, NSValue, NSArray
44 | * see readme for more details.
45 | */
46 | - (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation;
47 |
48 | /**
49 | * Override to set a custom chaining behaviour
50 | */
51 | - (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute;
52 |
53 | @end
54 |
55 |
56 | @protocol MASConstraintDelegate
57 |
58 | /**
59 | * Notifies the delegate when the constraint needs to be replaced with another constraint. For example
60 | * A MASViewConstraint may turn into a MASCompositeConstraint when an array is passed to one of the equality blocks
61 | */
62 | - (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(MASConstraint *)replacementConstraint;
63 |
64 | - (MASConstraint *)constraint:(MASConstraint *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute;
65 |
66 | @end
67 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/MASLayoutConstraint.h:
--------------------------------------------------------------------------------
1 | //
2 | // MASLayoutConstraint.h
3 | // Masonry
4 | //
5 | // Created by Jonas Budelmann on 3/08/13.
6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved.
7 | //
8 |
9 | #import "MASUtilities.h"
10 |
11 | /**
12 | * When you are debugging or printing the constraints attached to a view this subclass
13 | * makes it easier to identify which constraints have been created via Masonry
14 | */
15 | @interface MASLayoutConstraint : NSLayoutConstraint
16 |
17 | /**
18 | * a key to associate with this constraint
19 | */
20 | @property (nonatomic, strong) id mas_key;
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/MASLayoutConstraint.m:
--------------------------------------------------------------------------------
1 | //
2 | // MASLayoutConstraint.m
3 | // Masonry
4 | //
5 | // Created by Jonas Budelmann on 3/08/13.
6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved.
7 | //
8 |
9 | #import "MASLayoutConstraint.h"
10 |
11 | @implementation MASLayoutConstraint
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/MASViewAttribute.h:
--------------------------------------------------------------------------------
1 | //
2 | // MASAttribute.h
3 | // Masonry
4 | //
5 | // Created by Jonas Budelmann on 21/07/13.
6 | // Copyright (c) 2013 cloudling. All rights reserved.
7 | //
8 |
9 | #import "MASUtilities.h"
10 |
11 | /**
12 | * An immutable tuple which stores the view and the related NSLayoutAttribute.
13 | * Describes part of either the left or right hand side of a constraint equation
14 | */
15 | @interface MASViewAttribute : NSObject
16 |
17 | /**
18 | * The view which the reciever relates to. Can be nil if item is not a view.
19 | */
20 | @property (nonatomic, weak, readonly) MAS_VIEW *view;
21 |
22 | /**
23 | * The item which the reciever relates to.
24 | */
25 | @property (nonatomic, weak, readonly) id item;
26 |
27 | /**
28 | * The attribute which the reciever relates to
29 | */
30 | @property (nonatomic, assign, readonly) NSLayoutAttribute layoutAttribute;
31 |
32 | /**
33 | * Convenience initializer.
34 | */
35 | - (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute;
36 |
37 | /**
38 | * The designated initializer.
39 | */
40 | - (id)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute;
41 |
42 | /**
43 | * Determine whether the layoutAttribute is a size attribute
44 | *
45 | * @return YES if layoutAttribute is equal to NSLayoutAttributeWidth or NSLayoutAttributeHeight
46 | */
47 | - (BOOL)isSizeAttribute;
48 |
49 | @end
50 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/MASViewAttribute.m:
--------------------------------------------------------------------------------
1 | //
2 | // MASAttribute.m
3 | // Masonry
4 | //
5 | // Created by Jonas Budelmann on 21/07/13.
6 | // Copyright (c) 2013 cloudling. All rights reserved.
7 | //
8 |
9 | #import "MASViewAttribute.h"
10 |
11 | @implementation MASViewAttribute
12 |
13 | - (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute {
14 | self = [self initWithView:view item:view layoutAttribute:layoutAttribute];
15 | return self;
16 | }
17 |
18 | - (id)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute {
19 | self = [super init];
20 | if (!self) return nil;
21 |
22 | _view = view;
23 | _item = item;
24 | _layoutAttribute = layoutAttribute;
25 |
26 | return self;
27 | }
28 |
29 | - (BOOL)isSizeAttribute {
30 | return self.layoutAttribute == NSLayoutAttributeWidth
31 | || self.layoutAttribute == NSLayoutAttributeHeight;
32 | }
33 |
34 | - (BOOL)isEqual:(MASViewAttribute *)viewAttribute {
35 | if ([viewAttribute isKindOfClass:self.class]) {
36 | return self.view == viewAttribute.view
37 | && self.layoutAttribute == viewAttribute.layoutAttribute;
38 | }
39 | return [super isEqual:viewAttribute];
40 | }
41 |
42 | - (NSUInteger)hash {
43 | return MAS_NSUINTROTATE([self.view hash], MAS_NSUINT_BIT / 2) ^ self.layoutAttribute;
44 | }
45 |
46 | @end
47 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/MASViewConstraint.h:
--------------------------------------------------------------------------------
1 | //
2 | // MASConstraint.h
3 | // Masonry
4 | //
5 | // Created by Jonas Budelmann on 20/07/13.
6 | // Copyright (c) 2013 cloudling. All rights reserved.
7 | //
8 |
9 | #import "MASViewAttribute.h"
10 | #import "MASConstraint.h"
11 | #import "MASLayoutConstraint.h"
12 | #import "MASUtilities.h"
13 |
14 | /**
15 | * A single constraint.
16 | * Contains the attributes neccessary for creating a NSLayoutConstraint and adding it to the appropriate view
17 | */
18 | @interface MASViewConstraint : MASConstraint
19 |
20 | /**
21 | * First item/view and first attribute of the NSLayoutConstraint
22 | */
23 | @property (nonatomic, strong, readonly) MASViewAttribute *firstViewAttribute;
24 |
25 | /**
26 | * Second item/view and second attribute of the NSLayoutConstraint
27 | */
28 | @property (nonatomic, strong, readonly) MASViewAttribute *secondViewAttribute;
29 |
30 | /**
31 | * initialises the MASViewConstraint with the first part of the equation
32 | *
33 | * @param firstViewAttribute view.mas_left, view.mas_width etc.
34 | *
35 | * @return a new view constraint
36 | */
37 | - (id)initWithFirstViewAttribute:(MASViewAttribute *)firstViewAttribute;
38 |
39 | /**
40 | * Returns all MASViewConstraints installed with this view as a first item.
41 | *
42 | * @param view A view to retrieve constraints for.
43 | *
44 | * @return An array of MASViewConstraints.
45 | */
46 | + (NSArray *)installedConstraintsForView:(MAS_VIEW *)view;
47 |
48 | @end
49 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/Masonry.h:
--------------------------------------------------------------------------------
1 | //
2 | // Masonry.h
3 | // Masonry
4 | //
5 | // Created by Jonas Budelmann on 20/07/13.
6 | // Copyright (c) 2013 cloudling. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for Masonry.
12 | FOUNDATION_EXPORT double MasonryVersionNumber;
13 |
14 | //! Project version string for Masonry.
15 | FOUNDATION_EXPORT const unsigned char MasonryVersionString[];
16 |
17 | #import "MASUtilities.h"
18 | #import "View+MASAdditions.h"
19 | #import "View+MASShorthandAdditions.h"
20 | #import "ViewController+MASAdditions.h"
21 | #import "NSArray+MASAdditions.h"
22 | #import "NSArray+MASShorthandAdditions.h"
23 | #import "MASConstraint.h"
24 | #import "MASCompositeConstraint.h"
25 | #import "MASViewAttribute.h"
26 | #import "MASViewConstraint.h"
27 | #import "MASConstraintMaker.h"
28 | #import "MASLayoutConstraint.h"
29 | #import "NSLayoutConstraint+MASDebugAdditions.h"
30 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/NSArray+MASAdditions.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSArray+MASAdditions.h
3 | //
4 | //
5 | // Created by Daniel Hammond on 11/26/13.
6 | //
7 | //
8 |
9 | #import "MASUtilities.h"
10 | #import "MASConstraintMaker.h"
11 | #import "MASViewAttribute.h"
12 |
13 | typedef NS_ENUM(NSUInteger, MASAxisType) {
14 | MASAxisTypeHorizontal,
15 | MASAxisTypeVertical
16 | };
17 |
18 | @interface NSArray (MASAdditions)
19 |
20 | /**
21 | * Creates a MASConstraintMaker with each view in the callee.
22 | * Any constraints defined are added to the view or the appropriate superview once the block has finished executing on each view
23 | *
24 | * @param block scope within which you can build up the constraints which you wish to apply to each view.
25 | *
26 | * @return Array of created MASConstraints
27 | */
28 | - (NSArray *)mas_makeConstraints:(void (^)(MASConstraintMaker *make))block;
29 |
30 | /**
31 | * Creates a MASConstraintMaker with each view in the callee.
32 | * Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view.
33 | * If an existing constraint exists then it will be updated instead.
34 | *
35 | * @param block scope within which you can build up the constraints which you wish to apply to each view.
36 | *
37 | * @return Array of created/updated MASConstraints
38 | */
39 | - (NSArray *)mas_updateConstraints:(void (^)(MASConstraintMaker *make))block;
40 |
41 | /**
42 | * Creates a MASConstraintMaker with each view in the callee.
43 | * Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view.
44 | * All constraints previously installed for the views will be removed.
45 | *
46 | * @param block scope within which you can build up the constraints which you wish to apply to each view.
47 | *
48 | * @return Array of created/updated MASConstraints
49 | */
50 | - (NSArray *)mas_remakeConstraints:(void (^)(MASConstraintMaker *make))block;
51 |
52 | /**
53 | * distribute with fixed spacing
54 | *
55 | * @param axisType which axis to distribute items along
56 | * @param fixedSpacing the spacing between each item
57 | * @param leadSpacing the spacing before the first item and the container
58 | * @param tailSpacing the spacing after the last item and the container
59 | */
60 | - (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedSpacing:(CGFloat)fixedSpacing leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing;
61 |
62 | /**
63 | * distribute with fixed item size
64 | *
65 | * @param axisType which axis to distribute items along
66 | * @param fixedItemLength the fixed length of each item
67 | * @param leadSpacing the spacing before the first item and the container
68 | * @param tailSpacing the spacing after the last item and the container
69 | */
70 | - (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedItemLength:(CGFloat)fixedItemLength leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing;
71 |
72 | @end
73 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/NSArray+MASShorthandAdditions.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSArray+MASShorthandAdditions.h
3 | // Masonry
4 | //
5 | // Created by Jonas Budelmann on 22/07/13.
6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved.
7 | //
8 |
9 | #import "NSArray+MASAdditions.h"
10 |
11 | #ifdef MAS_SHORTHAND
12 |
13 | /**
14 | * Shorthand array additions without the 'mas_' prefixes,
15 | * only enabled if MAS_SHORTHAND is defined
16 | */
17 | @interface NSArray (MASShorthandAdditions)
18 |
19 | - (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *make))block;
20 | - (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *make))block;
21 | - (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *make))block;
22 |
23 | @end
24 |
25 | @implementation NSArray (MASShorthandAdditions)
26 |
27 | - (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *))block {
28 | return [self mas_makeConstraints:block];
29 | }
30 |
31 | - (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *))block {
32 | return [self mas_updateConstraints:block];
33 | }
34 |
35 | - (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *))block {
36 | return [self mas_remakeConstraints:block];
37 | }
38 |
39 | @end
40 |
41 | #endif
42 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSLayoutConstraint+MASDebugAdditions.h
3 | // Masonry
4 | //
5 | // Created by Jonas Budelmann on 3/08/13.
6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved.
7 | //
8 |
9 | #import "MASUtilities.h"
10 |
11 | /**
12 | * makes debug and log output of NSLayoutConstraints more readable
13 | */
14 | @interface NSLayoutConstraint (MASDebugAdditions)
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/View+MASAdditions.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIView+MASAdditions.h
3 | // Masonry
4 | //
5 | // Created by Jonas Budelmann on 20/07/13.
6 | // Copyright (c) 2013 cloudling. All rights reserved.
7 | //
8 |
9 | #import "MASUtilities.h"
10 | #import "MASConstraintMaker.h"
11 | #import "MASViewAttribute.h"
12 |
13 | /**
14 | * Provides constraint maker block
15 | * and convience methods for creating MASViewAttribute which are view + NSLayoutAttribute pairs
16 | */
17 | @interface MAS_VIEW (MASAdditions)
18 |
19 | /**
20 | * following properties return a new MASViewAttribute with current view and appropriate NSLayoutAttribute
21 | */
22 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_left;
23 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_top;
24 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_right;
25 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_bottom;
26 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_leading;
27 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_trailing;
28 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_width;
29 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_height;
30 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_centerX;
31 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_centerY;
32 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_baseline;
33 | @property (nonatomic, strong, readonly) MASViewAttribute *(^mas_attribute)(NSLayoutAttribute attr);
34 |
35 | #if TARGET_OS_IPHONE || TARGET_OS_TV
36 |
37 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_leftMargin;
38 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_rightMargin;
39 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_topMargin;
40 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomMargin;
41 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_leadingMargin;
42 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_trailingMargin;
43 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_centerXWithinMargins;
44 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_centerYWithinMargins;
45 |
46 | #endif
47 |
48 | /**
49 | * a key to associate with this view
50 | */
51 | @property (nonatomic, strong) id mas_key;
52 |
53 | /**
54 | * Finds the closest common superview between this view and another view
55 | *
56 | * @param view other view
57 | *
58 | * @return returns nil if common superview could not be found
59 | */
60 | - (instancetype)mas_closestCommonSuperview:(MAS_VIEW *)view;
61 |
62 | /**
63 | * Creates a MASConstraintMaker with the callee view.
64 | * Any constraints defined are added to the view or the appropriate superview once the block has finished executing
65 | *
66 | * @param block scope within which you can build up the constraints which you wish to apply to the view.
67 | *
68 | * @return Array of created MASConstraints
69 | */
70 | - (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block;
71 |
72 | /**
73 | * Creates a MASConstraintMaker with the callee view.
74 | * Any constraints defined are added to the view or the appropriate superview once the block has finished executing.
75 | * If an existing constraint exists then it will be updated instead.
76 | *
77 | * @param block scope within which you can build up the constraints which you wish to apply to the view.
78 | *
79 | * @return Array of created/updated MASConstraints
80 | */
81 | - (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block;
82 |
83 | /**
84 | * Creates a MASConstraintMaker with the callee view.
85 | * Any constraints defined are added to the view or the appropriate superview once the block has finished executing.
86 | * All constraints previously installed for the view will be removed.
87 | *
88 | * @param block scope within which you can build up the constraints which you wish to apply to the view.
89 | *
90 | * @return Array of created/updated MASConstraints
91 | */
92 | - (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block;
93 |
94 | @end
95 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/View+MASShorthandAdditions.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIView+MASShorthandAdditions.h
3 | // Masonry
4 | //
5 | // Created by Jonas Budelmann on 22/07/13.
6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved.
7 | //
8 |
9 | #import "View+MASAdditions.h"
10 |
11 | #ifdef MAS_SHORTHAND
12 |
13 | /**
14 | * Shorthand view additions without the 'mas_' prefixes,
15 | * only enabled if MAS_SHORTHAND is defined
16 | */
17 | @interface MAS_VIEW (MASShorthandAdditions)
18 |
19 | @property (nonatomic, strong, readonly) MASViewAttribute *left;
20 | @property (nonatomic, strong, readonly) MASViewAttribute *top;
21 | @property (nonatomic, strong, readonly) MASViewAttribute *right;
22 | @property (nonatomic, strong, readonly) MASViewAttribute *bottom;
23 | @property (nonatomic, strong, readonly) MASViewAttribute *leading;
24 | @property (nonatomic, strong, readonly) MASViewAttribute *trailing;
25 | @property (nonatomic, strong, readonly) MASViewAttribute *width;
26 | @property (nonatomic, strong, readonly) MASViewAttribute *height;
27 | @property (nonatomic, strong, readonly) MASViewAttribute *centerX;
28 | @property (nonatomic, strong, readonly) MASViewAttribute *centerY;
29 | @property (nonatomic, strong, readonly) MASViewAttribute *baseline;
30 | @property (nonatomic, strong, readonly) MASViewAttribute *(^attribute)(NSLayoutAttribute attr);
31 |
32 | #if TARGET_OS_IPHONE || TARGET_OS_TV
33 |
34 | @property (nonatomic, strong, readonly) MASViewAttribute *leftMargin;
35 | @property (nonatomic, strong, readonly) MASViewAttribute *rightMargin;
36 | @property (nonatomic, strong, readonly) MASViewAttribute *topMargin;
37 | @property (nonatomic, strong, readonly) MASViewAttribute *bottomMargin;
38 | @property (nonatomic, strong, readonly) MASViewAttribute *leadingMargin;
39 | @property (nonatomic, strong, readonly) MASViewAttribute *trailingMargin;
40 | @property (nonatomic, strong, readonly) MASViewAttribute *centerXWithinMargins;
41 | @property (nonatomic, strong, readonly) MASViewAttribute *centerYWithinMargins;
42 |
43 | #endif
44 |
45 | - (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *make))block;
46 | - (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *make))block;
47 | - (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *make))block;
48 |
49 | @end
50 |
51 | #define MAS_ATTR_FORWARD(attr) \
52 | - (MASViewAttribute *)attr { \
53 | return [self mas_##attr]; \
54 | }
55 |
56 | @implementation MAS_VIEW (MASShorthandAdditions)
57 |
58 | MAS_ATTR_FORWARD(top);
59 | MAS_ATTR_FORWARD(left);
60 | MAS_ATTR_FORWARD(bottom);
61 | MAS_ATTR_FORWARD(right);
62 | MAS_ATTR_FORWARD(leading);
63 | MAS_ATTR_FORWARD(trailing);
64 | MAS_ATTR_FORWARD(width);
65 | MAS_ATTR_FORWARD(height);
66 | MAS_ATTR_FORWARD(centerX);
67 | MAS_ATTR_FORWARD(centerY);
68 | MAS_ATTR_FORWARD(baseline);
69 |
70 | #if TARGET_OS_IPHONE || TARGET_OS_TV
71 |
72 | MAS_ATTR_FORWARD(leftMargin);
73 | MAS_ATTR_FORWARD(rightMargin);
74 | MAS_ATTR_FORWARD(topMargin);
75 | MAS_ATTR_FORWARD(bottomMargin);
76 | MAS_ATTR_FORWARD(leadingMargin);
77 | MAS_ATTR_FORWARD(trailingMargin);
78 | MAS_ATTR_FORWARD(centerXWithinMargins);
79 | MAS_ATTR_FORWARD(centerYWithinMargins);
80 |
81 | #endif
82 |
83 | - (MASViewAttribute *(^)(NSLayoutAttribute))attribute {
84 | return [self mas_attribute];
85 | }
86 |
87 | - (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *))block {
88 | return [self mas_makeConstraints:block];
89 | }
90 |
91 | - (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *))block {
92 | return [self mas_updateConstraints:block];
93 | }
94 |
95 | - (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *))block {
96 | return [self mas_remakeConstraints:block];
97 | }
98 |
99 | @end
100 |
101 | #endif
102 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/ViewController+MASAdditions.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIViewController+MASAdditions.h
3 | // Masonry
4 | //
5 | // Created by Craig Siemens on 2015-06-23.
6 | //
7 | //
8 |
9 | #import "MASUtilities.h"
10 | #import "MASConstraintMaker.h"
11 | #import "MASViewAttribute.h"
12 |
13 | #ifdef MAS_VIEW_CONTROLLER
14 |
15 | @interface MAS_VIEW_CONTROLLER (MASAdditions)
16 |
17 | /**
18 | * following properties return a new MASViewAttribute with appropriate UILayoutGuide and NSLayoutAttribute
19 | */
20 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuide;
21 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuide;
22 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuideTop;
23 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuideBottom;
24 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuideTop;
25 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuideBottom;
26 |
27 |
28 | @end
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/ViewController+MASAdditions.m:
--------------------------------------------------------------------------------
1 | //
2 | // UIViewController+MASAdditions.m
3 | // Masonry
4 | //
5 | // Created by Craig Siemens on 2015-06-23.
6 | //
7 | //
8 |
9 | #import "ViewController+MASAdditions.h"
10 |
11 | #ifdef MAS_VIEW_CONTROLLER
12 |
13 | @implementation MAS_VIEW_CONTROLLER (MASAdditions)
14 |
15 | - (MASViewAttribute *)mas_topLayoutGuide {
16 | return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeBottom];
17 | }
18 | - (MASViewAttribute *)mas_topLayoutGuideTop {
19 | return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeTop];
20 | }
21 | - (MASViewAttribute *)mas_topLayoutGuideBottom {
22 | return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeBottom];
23 | }
24 |
25 | - (MASViewAttribute *)mas_bottomLayoutGuide {
26 | return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeTop];
27 | }
28 | - (MASViewAttribute *)mas_bottomLayoutGuideTop {
29 | return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeTop];
30 | }
31 | - (MASViewAttribute *)mas_bottomLayoutGuideBottom {
32 | return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeBottom];
33 | }
34 |
35 |
36 |
37 | @end
38 |
39 | #endif
40 |
--------------------------------------------------------------------------------
/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/IQKeyboardManager-framework-IQKeyboardManager.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
50 |
51 |
53 |
54 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/IQKeyboardManager-framework.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
50 |
51 |
53 |
54 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/IQKeyboardManager-library-IQKeyboardManager.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
50 |
51 |
53 |
54 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/IQKeyboardManager-library.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
45 |
46 |
52 |
53 |
55 |
56 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Masonry-framework.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
50 |
51 |
53 |
54 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Masonry-library.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
45 |
46 |
52 |
53 |
55 |
56 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Pods-DynamicInputView-DynamicInputViewUITests.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
50 |
51 |
53 |
54 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Pods-DynamicInputView.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
50 |
51 |
53 |
54 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Pods-DynamicInputViewTests.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
50 |
51 |
53 |
54 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | IQKeyboardManager-framework-IQKeyboardManager.xcscheme
8 |
9 | isShown
10 |
11 | orderHint
12 | 1
13 |
14 | IQKeyboardManager-framework.xcscheme
15 |
16 | isShown
17 |
18 | orderHint
19 | 0
20 |
21 | IQKeyboardManager-library-IQKeyboardManager.xcscheme
22 |
23 | isShown
24 |
25 | orderHint
26 | 3
27 |
28 | IQKeyboardManager-library.xcscheme
29 |
30 | isShown
31 |
32 | orderHint
33 | 2
34 |
35 | Masonry-framework.xcscheme
36 |
37 | isShown
38 |
39 | orderHint
40 | 4
41 |
42 | Masonry-library.xcscheme
43 |
44 | isShown
45 |
46 | orderHint
47 | 5
48 |
49 | Pods-DynamicInputView-DynamicInputViewUITests.xcscheme
50 |
51 | isShown
52 |
53 | orderHint
54 | 7
55 |
56 | Pods-DynamicInputView.xcscheme
57 |
58 | isShown
59 |
60 | orderHint
61 | 6
62 |
63 | Pods-DynamicInputViewTests.xcscheme
64 |
65 | isShown
66 |
67 | orderHint
68 | 8
69 |
70 |
71 | SuppressBuildableAutocreation
72 |
73 |
74 |
75 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/IQKeyboardManager-framework/IQKeyboardManager-framework-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 | FMWK
17 | CFBundleShortVersionString
18 | 6.5.4
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/IQKeyboardManager-framework/IQKeyboardManager-framework-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_IQKeyboardManager_framework : NSObject
3 | @end
4 | @implementation PodsDummy_IQKeyboardManager_framework
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/IQKeyboardManager-framework/IQKeyboardManager-framework-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/IQKeyboardManager-framework/IQKeyboardManager-framework-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 | #import "IQKeyboardManager.h"
14 | #import "IQKeyboardReturnKeyHandler.h"
15 | #import "IQUIScrollView+Additions.h"
16 | #import "IQUITextFieldView+Additions.h"
17 | #import "IQUIView+Hierarchy.h"
18 | #import "IQUIViewController+Additions.h"
19 | #import "IQKeyboardManagerConstants.h"
20 | #import "IQTextView.h"
21 | #import "IQBarButtonItem.h"
22 | #import "IQPreviousNextView.h"
23 | #import "IQTitleBarButtonItem.h"
24 | #import "IQToolbar.h"
25 | #import "IQUIView+IQKeyboardToolbar.h"
26 |
27 | FOUNDATION_EXPORT double IQKeyboardManagerVersionNumber;
28 | FOUNDATION_EXPORT const unsigned char IQKeyboardManagerVersionString[];
29 |
30 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/IQKeyboardManager-framework/IQKeyboardManager-framework.modulemap:
--------------------------------------------------------------------------------
1 | framework module IQKeyboardManager {
2 | umbrella header "IQKeyboardManager-framework-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/IQKeyboardManager-framework/IQKeyboardManager-framework.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public"
4 | OTHER_LDFLAGS = $(inherited) -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardManager
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
12 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/IQKeyboardManager-framework/ResourceBundle-IQKeyboardManager-IQKeyboardManager-framework-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleIdentifier
8 | ${PRODUCT_BUNDLE_IDENTIFIER}
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | ${PRODUCT_NAME}
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 6.5.4
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/IQKeyboardManager-library/IQKeyboardManager-library-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_IQKeyboardManager_library : NSObject
3 | @end
4 | @implementation PodsDummy_IQKeyboardManager_library
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/IQKeyboardManager-library/IQKeyboardManager-library-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/IQKeyboardManager-library/IQKeyboardManager-library.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-library
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/IQKeyboardManager" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/IQKeyboardManager"
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardManager
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
11 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/IQKeyboardManager-library/ResourceBundle-IQKeyboardManager-IQKeyboardManager-library-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleIdentifier
8 | ${PRODUCT_BUNDLE_IDENTIFIER}
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | ${PRODUCT_NAME}
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 6.5.4
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Masonry-framework/Masonry-framework-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 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Masonry-framework/Masonry-framework-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Masonry_framework : NSObject
3 | @end
4 | @implementation PodsDummy_Masonry_framework
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Masonry-framework/Masonry-framework-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Masonry-framework/Masonry-framework-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 | #import "MASCompositeConstraint.h"
14 | #import "MASConstraint+Private.h"
15 | #import "MASConstraint.h"
16 | #import "MASConstraintMaker.h"
17 | #import "MASLayoutConstraint.h"
18 | #import "Masonry.h"
19 | #import "MASUtilities.h"
20 | #import "MASViewAttribute.h"
21 | #import "MASViewConstraint.h"
22 | #import "NSArray+MASAdditions.h"
23 | #import "NSArray+MASShorthandAdditions.h"
24 | #import "NSLayoutConstraint+MASDebugAdditions.h"
25 | #import "View+MASAdditions.h"
26 | #import "View+MASShorthandAdditions.h"
27 | #import "ViewController+MASAdditions.h"
28 |
29 | FOUNDATION_EXPORT double MasonryVersionNumber;
30 | FOUNDATION_EXPORT const unsigned char MasonryVersionString[];
31 |
32 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Masonry-framework/Masonry-framework.modulemap:
--------------------------------------------------------------------------------
1 | framework module Masonry {
2 | umbrella header "Masonry-framework-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Masonry-framework/Masonry-framework.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public"
4 | OTHER_LDFLAGS = $(inherited) -framework "Foundation" -framework "UIKit"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Masonry
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
12 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Masonry-library/Masonry-library-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Masonry_library : NSObject
3 | @end
4 | @implementation PodsDummy_Masonry_library
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Masonry-library/Masonry-library-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Masonry-library/Masonry-library.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Masonry-library
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Masonry" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Masonry"
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Masonry
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
11 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView-DynamicInputViewUITests/Pods-DynamicInputView-DynamicInputViewUITests-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 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView-DynamicInputViewUITests/Pods-DynamicInputView-DynamicInputViewUITests-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 |
4 | ## IQKeyboardManager
5 |
6 | MIT License
7 |
8 | Copyright (c) 2013-2017 Iftekhar Qurashi
9 |
10 | Permission is hereby granted, free of charge, to any person obtaining a copy
11 | of this software and associated documentation files (the "Software"), to deal
12 | in the Software without restriction, including without limitation the rights
13 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14 | copies of the Software, and to permit persons to whom the Software is
15 | furnished to do so, subject to the following conditions:
16 |
17 | The above copyright notice and this permission notice shall be included in all
18 | copies or substantial portions of the Software.
19 |
20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26 | SOFTWARE.
27 |
28 |
29 | ## Masonry
30 |
31 | Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry
32 |
33 | Permission is hereby granted, free of charge, to any person obtaining a copy
34 | of this software and associated documentation files (the "Software"), to deal
35 | in the Software without restriction, including without limitation the rights
36 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
37 | copies of the Software, and to permit persons to whom the Software is
38 | furnished to do so, subject to the following conditions:
39 |
40 | The above copyright notice and this permission notice shall be included in
41 | all copies or substantial portions of the Software.
42 |
43 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
44 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
45 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
46 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
47 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
48 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
49 | THE SOFTWARE.
50 | Generated by CocoaPods - https://cocoapods.org
51 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView-DynamicInputViewUITests/Pods-DynamicInputView-DynamicInputViewUITests-acknowledgements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreferenceSpecifiers
6 |
7 |
8 | FooterText
9 | This application makes use of the following third party libraries:
10 | Title
11 | Acknowledgements
12 | Type
13 | PSGroupSpecifier
14 |
15 |
16 | FooterText
17 | MIT License
18 |
19 | Copyright (c) 2013-2017 Iftekhar Qurashi
20 |
21 | Permission is hereby granted, free of charge, to any person obtaining a copy
22 | of this software and associated documentation files (the "Software"), to deal
23 | in the Software without restriction, including without limitation the rights
24 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
25 | copies of the Software, and to permit persons to whom the Software is
26 | furnished to do so, subject to the following conditions:
27 |
28 | The above copyright notice and this permission notice shall be included in all
29 | copies or substantial portions of the Software.
30 |
31 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
32 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
33 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
34 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
36 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
37 | SOFTWARE.
38 |
39 | License
40 | MIT
41 | Title
42 | IQKeyboardManager
43 | Type
44 | PSGroupSpecifier
45 |
46 |
47 | FooterText
48 | Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry
49 |
50 | Permission is hereby granted, free of charge, to any person obtaining a copy
51 | of this software and associated documentation files (the "Software"), to deal
52 | in the Software without restriction, including without limitation the rights
53 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
54 | copies of the Software, and to permit persons to whom the Software is
55 | furnished to do so, subject to the following conditions:
56 |
57 | The above copyright notice and this permission notice shall be included in
58 | all copies or substantial portions of the Software.
59 |
60 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
61 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
62 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
63 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
64 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
65 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
66 | THE SOFTWARE.
67 | License
68 | MIT
69 | Title
70 | Masonry
71 | Type
72 | PSGroupSpecifier
73 |
74 |
75 | FooterText
76 | Generated by CocoaPods - https://cocoapods.org
77 | Title
78 |
79 | Type
80 | PSGroupSpecifier
81 |
82 |
83 | StringsTable
84 | Acknowledgements
85 | Title
86 | Acknowledgements
87 |
88 |
89 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView-DynamicInputViewUITests/Pods-DynamicInputView-DynamicInputViewUITests-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_DynamicInputView_DynamicInputViewUITests : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_DynamicInputView_DynamicInputViewUITests
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView-DynamicInputViewUITests/Pods-DynamicInputView-DynamicInputViewUITests-frameworks-Debug-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-DynamicInputView-DynamicInputViewUITests/Pods-DynamicInputView-DynamicInputViewUITests-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/IQKeyboardManager-framework/IQKeyboardManager.framework
3 | ${BUILT_PRODUCTS_DIR}/Masonry-framework/Masonry.framework
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView-DynamicInputViewUITests/Pods-DynamicInputView-DynamicInputViewUITests-frameworks-Debug-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardManager.framework
2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Masonry.framework
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView-DynamicInputViewUITests/Pods-DynamicInputView-DynamicInputViewUITests-frameworks-Release-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-DynamicInputView-DynamicInputViewUITests/Pods-DynamicInputView-DynamicInputViewUITests-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/IQKeyboardManager-framework/IQKeyboardManager.framework
3 | ${BUILT_PRODUCTS_DIR}/Masonry-framework/Masonry.framework
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView-DynamicInputViewUITests/Pods-DynamicInputView-DynamicInputViewUITests-frameworks-Release-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardManager.framework
2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Masonry.framework
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView-DynamicInputViewUITests/Pods-DynamicInputView-DynamicInputViewUITests-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_DynamicInputView_DynamicInputViewUITestsVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_DynamicInputView_DynamicInputViewUITestsVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView-DynamicInputViewUITests/Pods-DynamicInputView-DynamicInputViewUITests.debug.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework/IQKeyboardManager.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework/Masonry.framework/Headers"
4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
5 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework/IQKeyboardManager.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework/Masonry.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework"
6 | OTHER_LDFLAGS = $(inherited) -framework "CoreGraphics" -framework "Foundation" -framework "IQKeyboardManager" -framework "Masonry" -framework "QuartzCore" -framework "UIKit"
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
10 | PODS_ROOT = ${SRCROOT}/Pods
11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
12 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView-DynamicInputViewUITests/Pods-DynamicInputView-DynamicInputViewUITests.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_DynamicInputView_DynamicInputViewUITests {
2 | umbrella header "Pods-DynamicInputView-DynamicInputViewUITests-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView-DynamicInputViewUITests/Pods-DynamicInputView-DynamicInputViewUITests.release.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework/IQKeyboardManager.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework/Masonry.framework/Headers"
4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
5 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework/IQKeyboardManager.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework/Masonry.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework"
6 | OTHER_LDFLAGS = $(inherited) -framework "CoreGraphics" -framework "Foundation" -framework "IQKeyboardManager" -framework "Masonry" -framework "QuartzCore" -framework "UIKit"
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
10 | PODS_ROOT = ${SRCROOT}/Pods
11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
12 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView/Pods-DynamicInputView-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 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView/Pods-DynamicInputView-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 |
4 | ## IQKeyboardManager
5 |
6 | MIT License
7 |
8 | Copyright (c) 2013-2017 Iftekhar Qurashi
9 |
10 | Permission is hereby granted, free of charge, to any person obtaining a copy
11 | of this software and associated documentation files (the "Software"), to deal
12 | in the Software without restriction, including without limitation the rights
13 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14 | copies of the Software, and to permit persons to whom the Software is
15 | furnished to do so, subject to the following conditions:
16 |
17 | The above copyright notice and this permission notice shall be included in all
18 | copies or substantial portions of the Software.
19 |
20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26 | SOFTWARE.
27 |
28 |
29 | ## Masonry
30 |
31 | Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry
32 |
33 | Permission is hereby granted, free of charge, to any person obtaining a copy
34 | of this software and associated documentation files (the "Software"), to deal
35 | in the Software without restriction, including without limitation the rights
36 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
37 | copies of the Software, and to permit persons to whom the Software is
38 | furnished to do so, subject to the following conditions:
39 |
40 | The above copyright notice and this permission notice shall be included in
41 | all copies or substantial portions of the Software.
42 |
43 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
44 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
45 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
46 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
47 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
48 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
49 | THE SOFTWARE.
50 | Generated by CocoaPods - https://cocoapods.org
51 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView/Pods-DynamicInputView-acknowledgements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreferenceSpecifiers
6 |
7 |
8 | FooterText
9 | This application makes use of the following third party libraries:
10 | Title
11 | Acknowledgements
12 | Type
13 | PSGroupSpecifier
14 |
15 |
16 | FooterText
17 | MIT License
18 |
19 | Copyright (c) 2013-2017 Iftekhar Qurashi
20 |
21 | Permission is hereby granted, free of charge, to any person obtaining a copy
22 | of this software and associated documentation files (the "Software"), to deal
23 | in the Software without restriction, including without limitation the rights
24 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
25 | copies of the Software, and to permit persons to whom the Software is
26 | furnished to do so, subject to the following conditions:
27 |
28 | The above copyright notice and this permission notice shall be included in all
29 | copies or substantial portions of the Software.
30 |
31 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
32 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
33 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
34 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
36 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
37 | SOFTWARE.
38 |
39 | License
40 | MIT
41 | Title
42 | IQKeyboardManager
43 | Type
44 | PSGroupSpecifier
45 |
46 |
47 | FooterText
48 | Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry
49 |
50 | Permission is hereby granted, free of charge, to any person obtaining a copy
51 | of this software and associated documentation files (the "Software"), to deal
52 | in the Software without restriction, including without limitation the rights
53 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
54 | copies of the Software, and to permit persons to whom the Software is
55 | furnished to do so, subject to the following conditions:
56 |
57 | The above copyright notice and this permission notice shall be included in
58 | all copies or substantial portions of the Software.
59 |
60 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
61 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
62 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
63 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
64 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
65 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
66 | THE SOFTWARE.
67 | License
68 | MIT
69 | Title
70 | Masonry
71 | Type
72 | PSGroupSpecifier
73 |
74 |
75 | FooterText
76 | Generated by CocoaPods - https://cocoapods.org
77 | Title
78 |
79 | Type
80 | PSGroupSpecifier
81 |
82 |
83 | StringsTable
84 | Acknowledgements
85 | Title
86 | Acknowledgements
87 |
88 |
89 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView/Pods-DynamicInputView-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_DynamicInputView : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_DynamicInputView
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView/Pods-DynamicInputView-frameworks-Debug-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-DynamicInputView/Pods-DynamicInputView-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/IQKeyboardManager-framework/IQKeyboardManager.framework
3 | ${BUILT_PRODUCTS_DIR}/Masonry-framework/Masonry.framework
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView/Pods-DynamicInputView-frameworks-Debug-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardManager.framework
2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Masonry.framework
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView/Pods-DynamicInputView-frameworks-Release-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-DynamicInputView/Pods-DynamicInputView-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/IQKeyboardManager-framework/IQKeyboardManager.framework
3 | ${BUILT_PRODUCTS_DIR}/Masonry-framework/Masonry.framework
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView/Pods-DynamicInputView-frameworks-Release-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardManager.framework
2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Masonry.framework
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView/Pods-DynamicInputView-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_DynamicInputViewVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_DynamicInputViewVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView/Pods-DynamicInputView.debug.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework/IQKeyboardManager.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework/Masonry.framework/Headers"
4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
5 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework/IQKeyboardManager.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework/Masonry.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework"
6 | OTHER_LDFLAGS = $(inherited) -framework "CoreGraphics" -framework "Foundation" -framework "IQKeyboardManager" -framework "Masonry" -framework "QuartzCore" -framework "UIKit"
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
10 | PODS_ROOT = ${SRCROOT}/Pods
11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
12 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView/Pods-DynamicInputView.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_DynamicInputView {
2 | umbrella header "Pods-DynamicInputView-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputView/Pods-DynamicInputView.release.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework/IQKeyboardManager.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework/Masonry.framework/Headers"
4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
5 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework/IQKeyboardManager.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework/Masonry.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework"
6 | OTHER_LDFLAGS = $(inherited) -framework "CoreGraphics" -framework "Foundation" -framework "IQKeyboardManager" -framework "Masonry" -framework "QuartzCore" -framework "UIKit"
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
10 | PODS_ROOT = ${SRCROOT}/Pods
11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
12 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputViewTests/Pods-DynamicInputViewTests-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 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputViewTests/Pods-DynamicInputViewTests-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 | Generated by CocoaPods - https://cocoapods.org
4 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputViewTests/Pods-DynamicInputViewTests-acknowledgements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreferenceSpecifiers
6 |
7 |
8 | FooterText
9 | This application makes use of the following third party libraries:
10 | Title
11 | Acknowledgements
12 | Type
13 | PSGroupSpecifier
14 |
15 |
16 | FooterText
17 | Generated by CocoaPods - https://cocoapods.org
18 | Title
19 |
20 | Type
21 | PSGroupSpecifier
22 |
23 |
24 | StringsTable
25 | Acknowledgements
26 | Title
27 | Acknowledgements
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputViewTests/Pods-DynamicInputViewTests-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_DynamicInputViewTests : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_DynamicInputViewTests
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputViewTests/Pods-DynamicInputViewTests-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_DynamicInputViewTestsVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_DynamicInputViewTestsVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputViewTests/Pods-DynamicInputViewTests.debug.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework/IQKeyboardManager.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework/Masonry.framework/Headers"
4 | OTHER_LDFLAGS = $(inherited) -framework "CoreGraphics" -framework "Foundation" -framework "IQKeyboardManager" -framework "Masonry" -framework "QuartzCore" -framework "UIKit"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
8 | PODS_ROOT = ${SRCROOT}/Pods
9 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
10 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputViewTests/Pods-DynamicInputViewTests.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_DynamicInputViewTests {
2 | umbrella header "Pods-DynamicInputViewTests-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-DynamicInputViewTests/Pods-DynamicInputViewTests.release.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager-framework/IQKeyboardManager.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry-framework/Masonry.framework/Headers"
4 | OTHER_LDFLAGS = $(inherited) -framework "CoreGraphics" -framework "Foundation" -framework "IQKeyboardManager" -framework "Masonry" -framework "QuartzCore" -framework "UIKit"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
8 | PODS_ROOT = ${SRCROOT}/Pods
9 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # GHDynamicInputView
2 | 带删除键的TextView
3 |
4 | 效果
5 |
6 | 
7 |
--------------------------------------------------------------------------------