Day 46 #100DaysOfSwiftUI
β Made my own custom shapes
Doesn't look that beautiful but was a great way to repeat some of the learnings from this section.
Now looking forward to the next bigger challenge tomorrow (already had a look π€«).
Day 46 #100DaysOfSwiftUI
β Made my own custom shapes
Doesn't look that beautiful but was a great way to repeat some of the learnings from this section.
Now looking forward to the next bigger challenge tomorrow (already had a look π€«).
Exactly what I needed π€ https://xcancel.com/FloWritesCode/status/1554692285052354560
Day 45 #100DaysOfSwiftUI
β Animating shapes
π takeaways:
π .blendMode()
π Animate shape changes with animatableData
π For multiple props, use AnimatablePair
π Only Doubles can be interpolated (not Ints)
Made something even cooler today than yesterday!
Day 44 #100DaysOfSwiftUI
β Drawing more advanced shapes
π takeaways:
π Use stride to create a custom range
π CGAffineTransform
π FillStyle(eoFill: true) for even-odd filling
π Image border with ImagePaint()
π Enable Metal with .drawingGroup()
Wanna see something cool?
Want to learn more about designing for iOS?
@designcodeio has a handy guide to follow. Much better consumable than the HIG.
https://designcode.io/ios-design-handbook-intro-to-ios-14-design
Day 43 #100DaysOfSwiftUI
β Drawing simple shapes
π takeaways:
π Use Path type to draw shapes
π Shapes are built using paths, but more flexible
π .strokeBorder() draws on the inside (use InsettableShape protocol)
Here's a struct that draws an arc (great for charts) π
Day 42 #100DaysOfSwiftUI
β Added some additional features on my own
This challenge consisted mostly on refactoring. Got some practice in extracting SwiftUI views and passing data down the tree.
Also learned how to style a list background:
https://xcancel.com/dominikhofer_/status/1554857330382192643
Found a handy tool to compress gifs π https://ezgif.com/optimize
Quick SwiftUI tip:
I struggled to figure out how to change the background of a list in SwiftUI.
Turns out, you need to use the .onAppear modifier π
Show thread (3 posts)
Day 41 #100DaysOfSwiftUI
β Built the Moonshot project (part II)
π takeaways:
π Use struct initializer to βmergeβ JSON files
π .navigationBarTitleDisplayMode(.inline) on subviews
π Force unwrap with !
Also added a little indicator about which crew member was the commander.
Day 40 #100DaysOfSwiftUI
β Built the Moonshot project (part I)
π takeaways:
π Use a separate file to load data into app
π Generics are useful for reusability
π Use computed properties in your structs
π Define colors with an extension
π .preferredColorScheme(.dark)
Uno #005
Newsletters cluttering up your inbox?
No problem, just use a dedicated inbox for all the newsletters you don't want to miss. I personally like @stoopinbox. It gives you a special email address and reading app.
What's a newsletter everyone should subscribe to?
Show thread (2 posts)
Day 39 #100DaysOfSwiftUI
β Overview of the Moonshot project
π takeaways:
π .resizeable() to resize images with .scaledToFit/Fill()
π GeometryReader is really powerful for resizing
π ScrollView
π Lazy stacks/grids for lazy loading
π NavigationLink to βconnectβ views
Really interesting thread on colors in todays world (and how it used to be): https://xcancel.com/culturaltutor/status/1551976051860963333
Day 38 #100DaysOfSwiftUI
β Added some additional features on my own
This was a fun project to work on, something I would actually use myself with a few more features π
I especially like the idea with the picker up top to select the entries that should be shown.
Day 37 #100DaysOfSwiftUI
β Built the iExpense project
π takeaways:
π Organize classes & structs in other files
π Use UUID() to create unique ids
π Pass data to child views as ObservableObject
π Use didSet and initializer to write/read data from class to UserDefaults
Let me show you something that will π€― your mind.
This website built by @thatsfinsweet in @webflow π
ππ
Show thread (2 posts)
Day 36 #100DaysOfSwiftUI
β Overview of the iExpense project
π takeaways:
π Learned about a few property wrappers: StateObject, ObservedObject, Environment, AppStorage
π .sheet() modifier to display overlaying view
π .onDelete() with ForEach to delete rows
Want a free trial for @EndelSound?
Check out the link below π https://xcancel.com/EndelSound/status/1552263764849922048
Day 35 (Part II) #100DaysOfSwiftUI
Finished the game and even managed to add a few animations. I'm especially proud of the card flip π
The code behind it is quite ugly though, will probably come back to it and do a little refactor.
Other suggestions on what I could improve?
Show thread (2 posts)
Love it when people use their personal websites for lil experiments like these π https://xcancel.com/raunofreiberg/status/1551926000824582146
Day 35 (Part I) #100DaysOfSwiftUI
Here's what I got done so far:
β
Basic variable setup
β
Entering custom game settings
β
Generating Q & A array based on settings
β
Start game
Couldn't finish the challenge today, but will continue tomorrow!
Uno #004
An interesting approach when it comes to music: Personalized soundscapes.
@EndelSound provides exactly that: Custom generated sounds you can listen to for focus, exercise or relaxation.
It even considers factors like the current weather or your heart rate!
Show thread (2 posts)
Day 34 #100DaysOfSwiftUI
β Repeating the animation topic by creating some on my own
Todays challenge was to extend the GTF project with my own animations:
Was a fun one!
Day 33 #100DaysOfSwiftUI (Back at it again)
β Animations pt. II
π takeaways:
π The order in which animations are applied matters, you can also add multiple modifiers
π .offset() modifier is like translate in CSS
π .transition() modifier for entering/exiting animations
Day 32 #100DaysOfSwiftUI (Back at it again)
β Learned about implicit & explicit animations
π takeaways:
π Implicit animations are the easiest ones (.animation() modifier)
π Easing functions can use modifiers as well
π For explicit animations, wrap with withAnimation
Gonna take a 5-day break from #100DaysOfSwiftUI as I am going on vacation, starting today.
Will be back though βοΈ
Uno #003
Let's talk about colors π¨
ColorBox is a handy tool by @kvyn_ for creating color schemes for your UI designs (Tailwind style).
Takes a bit of getting used to but once you get it, you'll always wanna use it. It even supports export to @figma!
Show thread (2 posts)
Day 31 #100DaysOfSwiftUI
β Added some additional features on my own
The score is calculated by multiplying the number of words with the total number of letters in all answers. The score turns green when you reach 100 or more points (which isn't that easy let me tell you π)
Day 30 #100DaysOfSwiftUI
β Built the WordScramble project
π takeaways:
π .onSubmit() modifier
π withAnimation closure for βsmoothlyβ entering new data
π Use .onAppear() modifier to execute code on launch
π guard let is very useful with boolean returning functions
Day 29 #100DaysOfSwiftUI
β Overview of the WordScramble project
π takeaways:
π The list view is used extensively for displaying data
π Resources get put into an app bundle
π You can even spellcheck your words with UITextChecker() (although it has a pretty clunky APIβ¦)
Day 28 #100DaysOfSwiftUI
β Added some additional features on my own
I actually quite like the result, it's simple but still looks very βiOS-likeβ and nice. It's great to see how comparatively easy it is to create fully functional apps. And the ml part still blows my mind π€―
Create what you want to exist in the world. https://xcancel.com/IAmAndrewKirby/status/1547213356943265792
Day 27 #100DaysOfSwiftUI
β Built the BetterRest project
π takeaways:
π .toolbar modifier to add an βactionβ to view
π Imported ml models auto generates class
π To read a property whenever we want, make it static
Not that beautiful yet, but the ml part is amazing!
Day 26 #100DaysOfSwiftUI
β Overview of the BetterRest project
π takeaways:
π Stepper & Slider are ways to enter numbers
π Dates are hard to work with, but Swift provides handy abstractions
π You can easily create your own machine learning models with Create ML!
Day 25 #100DaysOfSwiftUI
β Built a simple rock, paper, scissors app
This was a great project to recap some of the learnings from the past few days!
One thing I'm particularly proud of is the way I handled the validation: It's a dictionary with all the winning pairs.
Uno #002
Today's tool is a handy little site called copypastecharacters.
Whenever you need some special characters like β‘, ο£Ώ, β or β₯, just get them from there. One click to copy them to your clipboard.
π Pro tip: Save frequently used symbols as snippets in @raycastapp
Show thread (2 posts)
Day 24 #100DaysOfSwiftUI
β Repetition of yesterday's topics on my own
Although days like these require a bit more brainpower than just following tutorials, I really learned to like them. They are exactly what you need to let concepts sink in.
Kudos to @twostraws π
Day 23 #100DaysOfSwiftUI
β Custom views & modifiers
π takeaways:
π Modifiers create a new view β order matters
π Use ternary operator for conditional modifiers
π Environment modifier gets applied to all children
π You can create custom views & modifiers for reusability
Day 22 #100DaysOfSwiftUI
β Added some additional features on my own
For this challenge, I already had to google some things, which I think is a great sign! I actually really like that during this course, I get to work on things on my own. Prepares me for my own projects.
Love to see the numbers behind some popular design tips! https://xcancel.com/Gavmn/status/1545387084017532929