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...

КОМЕНТАРІ • 41

  • @irfanrizvi161
    @irfanrizvi161 3 роки тому +13

    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.

  • @sols.2525
    @sols.2525 3 роки тому +9

    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!

    • @SwiftfulThinking
      @SwiftfulThinking  3 роки тому +2

      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.

    • @sols.2525
      @sols.2525 3 роки тому +1

      @@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.

  • @1slyboy
    @1slyboy 8 місяців тому +2

    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

  • @Nunny25
    @Nunny25 2 роки тому +1

    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.

  • @andreasmaikisch443
    @andreasmaikisch443 3 роки тому +2

    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 😊

    • @SwiftfulThinking
      @SwiftfulThinking  3 роки тому

      Hahah you hopefully don't have to await much longer :)

  • @AZMerf
    @AZMerf 3 роки тому +2

    Ha ha. I love hearing you say “Welcome to Swiftful Thinking!”

  • @cruiseqe2
    @cruiseqe2 3 роки тому +2

    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.

  • @Pepe_the_raver
    @Pepe_the_raver 8 місяців тому

    Your a Swift magician, each lesson is a bag full of tricks!

  • @mke579
    @mke579 3 роки тому +3

    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!

    • @SwiftfulThinking
      @SwiftfulThinking  3 роки тому +1

      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!

    • @mke579
      @mke579 3 роки тому

      @@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!

  • @ingongoyama3995
    @ingongoyama3995 3 роки тому +1

    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.

  • @omerfarukozturk9720
    @omerfarukozturk9720 7 місяців тому

    Thanks for everything, great content. 🔥

  • @maciusessa
    @maciusessa 2 роки тому

    Great video! Pretty cool launch screen. Learning a lot of new stuff. Keep it up , man!

  • @dineshdas9983
    @dineshdas9983 Рік тому

    WonderFul Explanation Mate🤩

  • @volchok1001
    @volchok1001 2 роки тому

    Great material. Thanks a lot .

  • @andresraigoza2082
    @andresraigoza2082 2 роки тому

    So cool and creative. Thank you so much!!!

  • @user-eg7ep8db8j
    @user-eg7ep8db8j 2 роки тому

    Amazing~~~
    I''m very enjoy your video~~
    thanks you again!!

  • @mig12394
    @mig12394 3 роки тому +1

    amazing !

  • @weixingchen1539
    @weixingchen1539 2 роки тому

    So amazing! Great help to me. BTW,Would you do some thing on Mac app with SwiftUI?

  • @toni1142
    @toni1142 2 роки тому

    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)

  • @allaboutnaturesound6033
    @allaboutnaturesound6033 3 роки тому

    Man, good video!!!!

  • @seunghyunkim6285
    @seunghyunkim6285 Рік тому

    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?

  • @BlackGove
    @BlackGove Рік тому

    I got couple errors but I think it’s because I don’t have a lot of files

  • @BlackGove
    @BlackGove Рік тому

    How to open new files in a file ?

  • @lehanas4918
    @lehanas4918 2 роки тому

    Hi guys, is there any way to use mp4 video as a splash screen in swiftui

  • @speedrunning7189
    @speedrunning7189 3 роки тому

    Hi but my launching screen happens only once but when i close the app an open again it doesn’t bring the launching screen

    • @SwiftfulThinking
      @SwiftfulThinking  3 роки тому

      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.

  • @naytebeck3186
    @naytebeck3186 3 роки тому

    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

    • @KimbrellBrad
      @KimbrellBrad 3 роки тому +2

      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.

    • @SwiftfulThinking
      @SwiftfulThinking  3 роки тому +1

      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.

    • @naytebeck3186
      @naytebeck3186 3 роки тому

      @@SwiftfulThinking thanks for both your replies, in the end I managed to worked it out.😁

  • @sols.2525
    @sols.2525 3 роки тому

    No new video today?