Skip to content
This repository has been archived by the owner on Jan 5, 2021. It is now read-only.

Latest commit

 

History

History
280 lines (151 loc) · 9.38 KB

README.md

File metadata and controls

280 lines (151 loc) · 9.38 KB

MTSwift-Learning

As a Designer,I begin to learn swift,try to make some simple project here

I'm newbie,but I'm forwarding.

Goal

A 100 Day Swift Learning Plan.Wanna be learn more about code,not only animation

##Day1:Ink

Ink

What I Learned:

1.How to use Scrollview

2.Simple Modal/Push Transition

3.Simple Hamburger menu animation

##Day2:Ink

Ink

What I Learned:

1.Use PageControl & Scrollview to Make Intro Page

2.Fix the LaunchScreen

3.Use If Condition to animate the button in last page

##Day3:Ink

Ink

What I Learned:

1.Use If Condition to show&hide the Tabbar/Custom NavBar

2.Push Transition/back to navcontroller

3.Fix the Icon & Color in Tabbar

4.How to use simple Webview

##Day4:Ink

Ink

What I Learned(Mainly from MengTo's DesignCode):

1.Bit little things about UIKit Dynamic

2.Transition between view controller ()

3.Pan Gesture State

4.Dictionary & Data & Loop

##Day5:Dribbble News Digest DND

What I Learned:

1.Simple If/Condition

2.How to use simple iOS blur effect

##Day6:Coffee Coffee

What I Learned:

1.Gif sequence

2.Simple 3D-like slidemenu effect

##Day7:Reading "Swift Development with Cocoa" Day7

What I learned:

1.Basic knowledge abt "closure [x]/int [x]/protocol [x]/extension [x]",still needs to review.

2.theory abt "lifecycle/constraints [x]"

3.Make 3 example —— AlertView/DynamicSnap(Used Pan Gesture Recognize & UIDynamicAnimator)/OperationQueue(theory abt OperationQueue & Closure [x])

4.Plan to learn more from http://mathewsanders.com/ tomorrow

##Day8:Animation from MathewSanders.com Day8

What I learned(From MathewSanders.com):

1.(Animation 1)use "arc4random_uniform()" to generate random Int,"for in" to play more times animation/How to get value from UISlider

2.(Animation 2)UIView.TransitionWithView,now I can use modal transiton in ViewController

3.(The whole demo)put all animation into one demo,review the theory abt "prepareForSegue"/get selectedRowAtIndexPath to make segue transition[?]/tableView[?]

4.(Animation 3)Learned add keyframe into animation to make effect better/Reviewed Path + Keyframeanimation

5.(Animation 4)Learned stroke Animation/set ovalpath's anchorpoint、clockwise、radius/How to use SystemAnimation

6.Plan to Learn Progress concept tomorrow,try to design these demo with funny idea.

##Day9:Add a Pinterest-like Longpress effect(but has bugs) Day9

What I learned

1.We can use UIDynamicItemBehavior & allowsRotation to remove SnapBehavior's 3D Strench.

2.Try to learn UIcollisionBehavior[x],but failed,I should learn swift from basic knowledge

To be contiuned...

##Day10:Transition from MathewSanders.com Day10 Day10-1

What I learned

1.Keep reviewing Transionmanager & how to use cotainer & segue to customize animation

2.Add an prototype named "惬读" made with Form ,plan to implement it

3.I have learned Swift for 10Day(or even more).It's not good to learn new knowledge everyday,I need sometime to review what I learned,also I wanna make all these project better & designer-like.So,I paused this plan.

##Day11:Transitionmanager(Make your transition code tidy) Day11 Day11-1

What I learned

1.Keep reviewing Transionmanager ,which made some animation a pattern to re-use anyway in app

2.try to use "present modally" & "over full screen"(try other options,effect will be different) in segue.Now I can part show previous ViewController(Just change second ViewControler's property like opacity/scale/rotation)

3.set a variable(like presenting) in transitionmanager,I can use self.presenting+if/else make switch.I can also use self.presenting before animation block to init propertys of view

##Day12:Recreate Yahoo News Digest by using UITableView(From Designer TearDown) Day12

What I learned

1.in sometime,the constraints can be used for stick a view to another scrollview

2.I had learned Matthew Cheok's brillant way of making cut off

3.To make code tidy,we must note delegate&datesource,separate modal、view&viewcontroller

4.use some global variable

##Day13:Recreate Elastic Drawer(From Designer TearDown) Day13

What I learned

1.Use Simple state in iOS

2."private let" for global using

3.Also use "var tracking: Bool = false"(Or true) to animate by gesture or just animate automaticly

4.This is a good example of UIBezierPath,I try to sketch some path on my note,learned a lot,but not enough

##Day14:Zooming Icons(From Design TearDown) Day14

What I learned

1.use constraint to aniamte element's Position

2.use snapshotViewAfterScreenUpdates to snape some key element,then fromView->animate snapshotview->toView(Another way of making TransitionManger fromVC->animate->animate->TOVC)

3.try to pass date(modal) between VC

4.try to make a protocol

5.learn some right way of making constraint

6.still have bugs in constraint animation,try to fix it later.

##Day15:Rooms(From Design TearDown) Day15

What I learned

1.In Swift, everything is public by default. Define your variables outside the classes.(Can use everywhere)

2.Keep going with protocol/pass date/ TransitionManager

3.the meaning of "let duration = NSTimeInterval(progress) * ContentViewAnimationDuration"

##Day16:IntroductionTips(From Design TearDown) Day16

1.MVC

2.UIDynamic

3.Dispatch for delay

##Day17:Expanding Cells(From Design TearDown) Day17

1.Extension Class(UIColor)

2.Learning Protocol to pass date between VC

3.Keep Learning Button

4.Use for in & index to layout button

5.WillDisappear &Appear + true & false to animate(I just need to animate two state,define two state first)

6.SnapShot For TransitionManager

  1. Use For in Control flow & Delay animation,animate cell step by step(knowledge about animate tableviewcell)

##Day18:DNAPP(From Design+Code) Day18

1.Relationship between protocol & delegate

2.Learn to use Spring Framework to customize animation & visual style

3.Knowledge about IBInspectable(add attribute into GUI) & IBDesignable(What I code changed the SB)

4.Relearn knowledge abt autolayout

5.Simple Read and Use JSON(make Data) & releran pass data via segue

##Day19:DNAPP(From Design+Code) Day19 Day19-2

1.Simple Learn Almorfire to get dynamic data

2.simple use progress view and control it by updateprogress,write simple function to control it's progress animation

3.openURL to call Safari to read website

4.Use TableView's refresh

5.Also SwiftJson to deal with static data

6.TPKeyboardAvoiding to deal with when in input case the textfield's position

7.review TransitionManager

8.To make Login/Logout with Localstore token's save get delete & delegate

##Day20:DNAPP(From Design+Code) Day20

1.Knowledge about UITableview's refresh control

2.add sound effect

3.pass upvote and comment data between storyVC & commentVC

4.click share to open AlertView

##Day21:Blur Test Day21

1.use bridge-header

2.use ANBlurredImageView to make blur,also try to use iOS visual effect view with blur,try to compare