App Icon, Launch Screen, and Launch Animation | SwiftUI Crypto App #24
Вставка
- Опубліковано 22 сер 2024
- What would our app be without an app icon or launch screen! In this video we will implement both of these and add a custom loading animation.
As you'll see, we're actually going to add a "launch color theme" to the application. We could have used the normal color scheme we've been using the entire course, but I wanted to make static colors for the launch screen so that it does NOT change between light/dark mode. Many apps do this for better "branding" and it's great practice anyway.
We will also add a launch animation that will occur directly after the initial Launch Screen. This is a fairly new technique that developers (such as Tinder) are using to add a little animation when users open the app. Typically, you want to keep loading times as short as possible and you really want users to enter your app as fast as possible. However, sometimes a loading animation can add a nice touch!
Note: if you want to keep developing the application and don't want to see the loading animation every time you build it, you can simply set showLaunchView: Bool = false while you're developing! :)
*** LINKS:
- Downloadable Resources: www.swiftful-t...
- CoinGecko API: www.coingecko....
- CoinModel API: api.coingecko....
- Market Data API: api.coingecko....
- Coin Detail API: api.coingecko....
- Buy Me A Coffee: www.buymeacoff...
Next video: • Add a dynamic List to ...
Last video: • Creating a Coin Model ...
🤙 WELCOME BACK 🤙
WEBSITE: www.swiftful-t...
DISCORD: / discord
GITHUB: github.com/Swi...
SAY THANKS: www.buymeacoff...
The stuff I learnt this month with you is more than what I learnt fiddling around the internet during the last 3-4 months. Your'e amazing, you've got a gift.
Irfan bro! Thanks for the comment :)
Man I said it before but I'll say it again... You are hands down my favorite teacher. The cool things you come up with to teach us is just incredible and fun! I would have never thought to do the stuff in this video and here you come with some more cool advanced programming that you make seem so easy. Amazing. You have found your calling and I hope more people find your videos because you deserve all the views in the world.
I also want you to know something... I had a severe injury at work last November that ruined 6 discs in my neck. I had a major surgery in March and then another major surgery the very next day to further correct the problem. When I awoke I could barely wiggle my toes, use my arms or my right hand. I have a long way to go still but I can now walk, have some use of my arms and hands and it is your videos that are helping me to get through this tough time. Thank you so much for what you do!
Wow, I'm sorry to hear that, but glad you're doing better. You posted this 2 weeks ago now.. so I'm wondering if you've gotten better since? Good luck on the recovery Scott.
@@SwiftfulThinking Improvements are small at this point really. If I look like a week back, I can't say I have really improved but if I look like a month back I can say I improved a ton.
Thank you. I hope your move went well.
Note: the ForEach in the lastest version of swift will provide a warning: "Non-constant range: not an integer range", to eliminate the warning, add "id: \.self" to the ForEach, e.g.: ForEach(loadingText.indices, id: \.self) { index in
Thanks as always.
Notice: It is nice launch screen, BUT I am not sure about functionality. Text "Loading Your portfolio..." has no binding to real loading of portfolio. For example if there no internet or some error occured, user will see nothing after 2 cycles of animation with no error - confusing. He will wait several seconds to see nothing. I think, that launch screen should disappear after real loading portfolio or keep max 1 loop of animation, or finished immediately if there is some error while loading.
Your course is amazing. Not only the basics but also a bit advanced knowledge without the need of being an expert. Exactly the thing I was looking for.
Thank you so much.
PS: I’m looking forward for a video about async await 😊
Hahah you hopefully don't have to await much longer :)
Ha ha. I love hearing you say “Welcome to Swiftful Thinking!”
Haha as long as 1 person likes it ....
This is just so amazing. So professional looking. How you can take a humble loading screen and take it up to the next level and beyond is just wonderful. And you teach us how to do it at the same time - fantastic.
Your a Swift magician, each lesson is a bag full of tricks!
This is actually really awesome! But @Nick I would go with the skeleton loading mask, that I think will look really sick for this app. Maybe you can approach this as well, I think alot of people will like to see how you mask elements with a skeleton mask. Best wishes mate, keep it 100!
I would recommend checking out the .redacted() modifier. I haven't covered it yet on my channel, which is why I didn't use it. But I'll be doing a video soon!
@@SwiftfulThinking Would be lovely to see .redacted() in the hands of a pro. I've tried it, seems to do some work but for a complete newbie like me, this is just next level. To use it when isLoading (API data loading) and after it's loaded to .unredact()... well it's over my power :D. Hope to see something from you that can cover this, overall I think you're the only one that really got me in to swift/swiftui coding and because of this, let me THANK YOU from the bottom of my heart!
Just select all the icons and drag them into your assets folder icon screen and they will auto 90% populate where they are suppose to go. The other 10% will be extras at the bottom that you will drag in place. I always have about 4 that are extras as those sizes are now deprecated and so I just throw those in the trash.
Thanks for everything, great content. 🔥
Great video! Pretty cool launch screen. Learning a lot of new stuff. Keep it up , man!
Thanks again Tomek!
WonderFul Explanation Mate🤩
Great material. Thanks a lot .
So cool and creative. Thank you so much!!!
Amazing~~~
I''m very enjoy your video~~
thanks you again!!
amazing !
So amazing! Great help to me. BTW,Would you do some thing on Mac app with SwiftUI?
Thank you for all the awesome videos Nick! Did you figure out how to get rid of the slight offset when the view transitions from the LaunchScreen storyboard to the SwiftUI LaunchView? (at 15:18)
Man, good video!!!!
Thank you!!!
I am curious about relationship between index and count when you coded about transtion... Count will be increase every 0.1s as timer gets published. However index is not increased by the timer value.. How can they react together when their values are differently increase?
I got couple errors but I think it’s because I don’t have a lot of files
How to open new files in a file ?
Hi guys, is there any way to use mp4 video as a splash screen in swiftui
Hi but my launching screen happens only once but when i close the app an open again it doesn’t bring the launching screen
Hi Nehal, that is correct. We only programmed it to show during the initial loading of the app launch. You can easily add more logic with the .onAppear or a similar modifier to display the loading screen again.
hey nick, loving the series. I have a question about API's. How do I go about using one that requires an api key?, I have tried researching it but I am still stuck. Any feedback would be great
Those keys are generally included as part of the URL. Usually like ".....APIKey=theKeyTheySuppliedWhenYourSignedUp Their documentation will show how to incude the key. Much like the options that we included in our URL in this project.
Hey Nayte, yea what Brad said is correct. Sometimes you can also send the API key separately, it depends on the API honestly and it's hard to explain quickly unfortunately.
@@SwiftfulThinking thanks for both your replies, in the end I managed to worked it out.😁
No new video today?
Thank you Charlie!!