Download - Practicing AppDevKit in kata training
![Page 1: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/1.jpg)
Practicing AppDevKit
Anistar SungEngineering Manager
Kata Training -
![Page 2: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/2.jpg)
git clone https://github.com/anistarsung/AppDevKitLearning.git
Download Learning Template
![Page 3: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/3.jpg)
• Leverage AppDevKit in few steps
• Build Some Apps with AppDevKit
• Using Swift with AppDevKit
Agenda
![Page 4: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/4.jpg)
Leverage AppDevKitBuild First App with AppDevKit
![Page 6: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/6.jpg)
Get Source Code from Github
![Page 7: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/7.jpg)
Set up AppDevKit
• Cloning code into your project directly
• Using CocoaPods to manage package
![Page 8: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/8.jpg)
What’s CocoaPods
![Page 9: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/9.jpg)
Using CocoaPods
Installing CocoaPods $ sudo gem install cocoapods
Initializing CocoaPods $ pod init $ nano Podfile
![Page 10: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/10.jpg)
Using CocoaPods
Editing Podfile platform :ios, '8.0'
target 'MyApp' do pod 'AppDevKit', '~> 1.0’ pod 'AFNetworking', '~> 2.6' end
![Page 11: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/11.jpg)
Using CocoaPods
Installing Package by CocoaPods $ pod install
Updating Package by CocoaPods $ pod update
![Page 12: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/12.jpg)
Working with AppDevKit
Open iOS Project with Pods $ open MyApp.xcworkspace
![Page 13: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/13.jpg)
Working with AppDevKit
Importing Libraries from AppDevKit #import <AppDevKit.h>
YES!You Made It!
![Page 14: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/14.jpg)
DemoStart HelloWorld with AppDevKit
![Page 15: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/15.jpg)
Using UIColor Hex presentationUtilities made setting color easier
![Page 16: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/16.jpg)
Hex Color Format from Designer
4C00A521B1E6FBDA18
![Page 17: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/17.jpg)
But UIColor….+(UIColor *)colorWithWhite:(CGFloat)white alpha:(CGFloat)alpha;
+(UIColor *)colorWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha;
+(UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha;
......
No hex presentation… :’(
![Page 18: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/18.jpg)
AppDevKit Hex Color Utility
[UIColor ADKColorWithHexString:@"fbda18"]
[[UIColor ADKColorWithHexString:@"fbda18"] ADKColorShiftByBrightness:0.7f];
![Page 19: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/19.jpg)
DemoUsing UIColor+ADKHexPresentation
![Page 20: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/20.jpg)
Applying UIImage FiltersChanging image color in one line
![Page 21: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/21.jpg)
Color Replacement
![Page 22: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/22.jpg)
Color Replacement
• One image could fulfill all states change
• Reducing App size
• Providing other filters and color replacement methods
![Page 23: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/23.jpg)
Color Replacement
[UIImage ADKImage:originalImage replaceColor:[UIColor redColor]];
![Page 24: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/24.jpg)
DemoUsing UIImage+ADKImageFilter
![Page 25: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/25.jpg)
Using Animation MarcosAnimation is a piece of cake
![Page 26: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/26.jpg)
Animation Marcos
![Page 27: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/27.jpg)
Animation Marcos
[button popUpAnimation];
![Page 28: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/28.jpg)
DemoUsing UIView+ADKAnimationMacro
![Page 29: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/29.jpg)
Using Modal Mask ViewMaking A Focused UX Flow
![Page 30: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/30.jpg)
Modal Mask View
![Page 31: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/31.jpg)
Modal Mask View
• Presenting custom modal view and dismiss automatically
• Below iOS 8, it don’t support UIModalPresentationOverCurrentContext
![Page 32: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/32.jpg)
Modal Mask View
[[ADKModalMaskView alloc] initWithView:UIView modalColor:UIColor autoDismiss:YES];
[modalView showInView:UIView withAnimation:YES completion:^(BOOL finished){…}];
![Page 33: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/33.jpg)
DemoUsing ADKModalMaskView
![Page 34: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/34.jpg)
Drawing Gradient BackgroundWithout Bitmap Image Solution
![Page 35: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/35.jpg)
ADKGradientView
![Page 36: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/36.jpg)
ADKGradientView
• Don’t need bitmap image (Programmable solution)
• Reduce App size
• Support assigning color and orientation
![Page 37: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/37.jpg)
ADKGradientView
view.beginColor = [UIColor redColor]; view.endColor = [UIColor greenColor]; view.blendsType = ADKBlendsTypeFromLeftTopToRightBottom;
ADKBlendsTypeFromTopToBottom ADKBlendsTypeFromLeftToRight ADKBlendsTypeFromLeftTopToRightBottom ADKBlendsTypeFromRightTopToLeftBottom
![Page 38: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/38.jpg)
DemoUsing ADKGradientView
![Page 39: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/39.jpg)
Using AutoLayout UtilityControlling AutoLayout easier
![Page 40: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/40.jpg)
AutoLayout Utility
![Page 41: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/41.jpg)
AutoLayout Utility
• Resolving elements aligning problem
Expected
Unexpected
Original
![Page 42: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/42.jpg)
AutoLayout Utility
[view ADKHideViewWidth];
[view ADKHideTrailingConstraint];
![Page 43: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/43.jpg)
DemoUsing UIView+AutoLayoutSupport
![Page 44: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/44.jpg)
Using ADKNibSizeCalculatorNice tool for Communication
![Page 45: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/45.jpg)
ADKNibSizeCalculator
![Page 46: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/46.jpg)
ADKNibSizeCalculator
Modify nib file without changing any code
![Page 47: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/47.jpg)
Using ADKNibSizeCalculator
Use ADKNibSizeCalculator to calculate size
CGSize size = [[ADKNibSizeCalculator sharedInstance] sizeForNibNamed:@“NibName” withStyle:ADKNibFixedHeightScaling];
![Page 48: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/48.jpg)
DemoCalculating Nib Size with AppDevKit
![Page 49: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/49.jpg)
Pull To Refresh in List ViewSolution for Pull To Refresh
![Page 50: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/50.jpg)
UIScrollView+ADKPullToRefreshView
![Page 51: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/51.jpg)
Implement a PullToRefresh View
Implement required method for this protocol - (void) ADKPullToRefreshStopped:(UIScrollView *)scrollView - (void) ADKPullToRefreshTriggered:(UIScrollView *)scrollView - (void) ADKPullToRefreshLoading:(UIScrollView *)scrollView
Create a view which implemented protocol ADKPullToRefreshViewProtocol #import <AppDevKit/UIScrollView+ADKPullToRefreshView.h>
@interface PullToRefreshView : UIView <ADKPullToRefreshViewProtocol>
And more optional method for this protocol - (CGFloat) ADKPullToRefreshTriggerDistanceTimes:(UIScrollView *)scrollView - (void) ADKPullToRefreshDragging:(UIScrollView *)scrollView - (void) ADKPullToRefreshView:(UIScrollView *)scrollView draggingWithProgress:(CGFloat)progress
![Page 52: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/52.jpg)
Add PullToRefresh View on Scroll View
Don’t forget to stop animation after things done [scrollView.pullToRefreshContentView stopAnimating];
Add PullToRefresh View on Scroll View [scrollView ADKAddPullToRefreshWithHandleView:refreshView actionHandler:^{
// do something here }];
![Page 53: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/53.jpg)
DemoImplement Pull To Refresh with AppDevKit
![Page 54: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/54.jpg)
Using AppDevKit in Swift projectAppDevKit Works Well with Swift
![Page 55: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/55.jpg)
Add Bridge Header
![Page 56: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/56.jpg)
Add Bridge Header
#import <AppDevKit.h>
![Page 57: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/57.jpg)
Bridge Header Settings
![Page 58: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/58.jpg)
Using Swift with AppDevKit
self.view.backgroundColor = UIColor.ADKColorWithHexString("0x1DB2E8")
![Page 59: Practicing AppDevKit in kata training](https://reader031.vdocument.in/reader031/viewer/2022022203/58729fac1a28ab07208b5785/html5/thumbnails/59.jpg)
Q + A