SwiftUI Navigation - NavigationView & NavigationLink Tutorial

  Рет қаралды 91,547

Sean Allen

Sean Allen

3 жыл бұрын

Head to squarespace.com/seanallen to save 10% off your first purchase of a website or domain using code SEANALLEN.
In today's video I show you how to navigate between screens in your SwiftUI app using NavigationView and NavigationLink. I also the the basics of passing data between views as well as some simple customizations.
UINavigationController Tutorial Video:
• iOS Navigation Control...
If you like my teaching or presentation style, I've started creating my own courses:
seanallen.teachable.com/
Twitter:
/ seanallen_dev
Link to my book - How I Became an iOS Developer:
gumroad.com/l/sean-allen-origin
Hired.com:
hired.com/x/1n01g
Check out my podcast, iOS Dev Discussions:
itunes.apple.com/us/podcast/i...
Book and learning recommendations that help out the channel if you decide to purchase (Affiliate Links):
Ray Wenderlich Books:
store.raywenderlich.com/a/208...
Ray Wenderlich Videos:
store.raywenderlich.com/a/208...
Paul Hudson's Hacking With Swift:
gumroad.com/a/762098803
Learn Advanced Swift Here:
gumroad.com/a/656585843
Links to my iOS Dev Setup & iOS Dev Book Recommendations
www.amazon.com/shop/seanallen
#swift #softwaredeveloper #iosdeveloper

Пікірлер: 98
@seanallen
@seanallen 3 жыл бұрын
If you enjoyed my teaching/presentation style, I've created a SwiftUI Fundamentals course that you can find at seanallen.teachable.com. You can watch the first ~10% for free to get a feel for it.
@PatrikManHora
@PatrikManHora 2 жыл бұрын
2:36 This piece of information is what I needed. I was putting nav controllers inside each other like an idiot...
@seanallen
@seanallen 2 жыл бұрын
Happy to help!
@pleasewait8913
@pleasewait8913 2 жыл бұрын
Your all video is super good and easy to understand. It changed from state nightmare to state happymare. Thank you from the deep of my heart.
@larsmees4952
@larsmees4952 11 ай бұрын
God, this video helped me solve an issue that I've been trying to solve for days! Thanks for the clear tutorial Sean!
@josstaneke5300
@josstaneke5300 3 жыл бұрын
Great tutorial. Like the fact you show directly what you change in your code in the preview.
@seanallen
@seanallen 3 жыл бұрын
Glad you like it!
@Nilely
@Nilely 3 жыл бұрын
Your videos makes understanding swift UI concept very easy. 👍
@seanallen
@seanallen 3 жыл бұрын
Glad to hear it, Nilesh!
@dexteroreilly
@dexteroreilly 3 жыл бұрын
Thanks Sean! Your tutorials have helped me in the development of my contact tracing app for iOS. I can code for android in my sleep, but Swift is another story since I’ve never used it. Keep up the great work!
@seanallen
@seanallen 3 жыл бұрын
Thanks! Happy to help.
@Monster33336
@Monster33336 3 жыл бұрын
Android is much harder in my opinion. Apple nailed it when they introduced Swift.
@KimbrellBrad
@KimbrellBrad 3 жыл бұрын
Great content Sean! Thanks for a great refresher.
@seanallen
@seanallen 3 жыл бұрын
Happy to help, Brad.
@wilsonnarea5378
@wilsonnarea5378 2 жыл бұрын
Thank you so much!!! Amazing teaching style.
@StowGeneral
@StowGeneral 3 жыл бұрын
Simply, Thank you! You are awesome. Liked and subscribed.
@clayfulgham21
@clayfulgham21 3 жыл бұрын
This Video really cleared things up for me. Thanks
@seanallen
@seanallen 3 жыл бұрын
Happy to help, Clay.
@marinab.6647
@marinab.6647 Ай бұрын
changing the color of the buttons and the offset .. is what I needed. Thank you!
@seanallen
@seanallen Ай бұрын
Happy to help!
@andrejkling3886
@andrejkling3886 3 жыл бұрын
Cool lesson Sean.... Thank you for sharing
@QuentinVadon101
@QuentinVadon101 3 жыл бұрын
Super, Super clear tutorial .. Thank you so much !
@dzmitryfedchanka1720
@dzmitryfedchanka1720 3 жыл бұрын
Best timing as usual :3
@ins3rt915
@ins3rt915 4 ай бұрын
Thanks so much dude, this is exactly what I needed!
@seanallen
@seanallen 4 ай бұрын
Glad I could help!
@MonsterGames71
@MonsterGames71 Жыл бұрын
a very helpful tutorial thanks Sean
@aymanomara8468
@aymanomara8468 2 жыл бұрын
thanks your tutorials is really helpful
@fgpr999
@fgpr999 2 жыл бұрын
On the point tutorial. Very useful for an Android developer like me who is currently porting his app to iOS 😁
@seanallen
@seanallen 2 жыл бұрын
Glad it was helpful!
@PiccolosDaughter
@PiccolosDaughter 2 жыл бұрын
Thank you so much for making this video.
@seanallen
@seanallen 2 жыл бұрын
Glad it was helpful 👍
@nazarwelkakayew692
@nazarwelkakayew692 2 жыл бұрын
Thanks Sean. You helped me a lot)
@seanallen
@seanallen 2 жыл бұрын
Happy to help!
@sam2223
@sam2223 Жыл бұрын
awesome tutorial
@franjomaric7913
@franjomaric7913 2 жыл бұрын
Thank you man !
@lucarauchenberger628
@lucarauchenberger628 2 жыл бұрын
awesome video!
@seanallen
@seanallen 2 жыл бұрын
Glad you enjoyed it!
@LEKYSMA
@LEKYSMA 3 жыл бұрын
Nice segue to the commercial at the end of the video
@jenniferescobar6085
@jenniferescobar6085 3 жыл бұрын
Nice thanks for this presentation you are awesome
@seanallen
@seanallen 3 жыл бұрын
Thanks for the kind words, Jennifer!
@smow8618
@smow8618 2 жыл бұрын
Thanks! I currently don’t have a Mac or any app,e computers for Xcode, but I’ve been using swift playgrounds and surprisingly I’ve been able to follow the entire video. But I needed to write a few lines of code for translation and whatever. Nice video though 👍
@seanallen
@seanallen 2 жыл бұрын
Interesting to hear how these work on Playgrounds as I've never tried that.... Glad it was helpful!
@yashumaurya4500
@yashumaurya4500 3 жыл бұрын
Guru ji Pranam . Love from India
@barche75
@barche75 3 жыл бұрын
Great video, Sean. One thing can be helpful how to pop to root view.
@seanallen
@seanallen 3 жыл бұрын
It's on my video to-do list!
@btechstuff
@btechstuff 2 жыл бұрын
Great explanation of the navview, Sean. Can I show navlinks side by side in an hstack? So two "buttons" each goes to a diff destination
@georgehabib4333
@georgehabib4333 Жыл бұрын
Thanks Sean @4:00 - Is there a way of determining the actual size of the Navigation Bar to exactly offset the shuffling in y? I have an image on my splash screen (that doesn't include the navigation view) that I want to line up exactly with the same image on my home view. I can manually fudge it, but I suspect the offset will change depending on device used
@polyglotmona
@polyglotmona 7 ай бұрын
3:33 into the video and I'm really loving you. I've tried many teachers in the last few months, but your style seems to be the one I can get the most out of. Do you know how many complicated tutorials there are that not even work, and beginners just don't know why and are lost and are getting depressed. So a big: Danke 💜 thank you 💛 gracias 🧡 merci 💙 grazie 💚 спасибо ❤ for your clear explanations, because they are easy-to-follow, clearly to see and they're working :)
@polyglotmona
@polyglotmona 7 ай бұрын
by the way, when I hit rename, it couldn't preview, but I figured I'd search for more "ContentView" in the code and found it: The ContentView_Previews hadn't changed to RedOneView_Previews, so I changed it manually, and wooo - the preview worked :)
@polyglotmona
@polyglotmona 7 ай бұрын
and I'm actually learning, when you say "and now resume - see, there's the green three" but there's a green 2 :D
@seanallen
@seanallen 7 ай бұрын
Glad you're enjoying my teaching style!
@TheSteak1984
@TheSteak1984 9 ай бұрын
Thank you!🙏
@seanallen
@seanallen 9 ай бұрын
Happy to help!
@academicsuccess5034
@academicsuccess5034 3 жыл бұрын
nice work
@rhiannondennis2075
@rhiannondennis2075 3 жыл бұрын
Thank you so much!!
@boonyawatl
@boonyawatl 3 жыл бұрын
Questions. I want to put the struct BlueTwoView in a separate file. How can I do that? I did it and it says Cannot find in scope. Thanks for your help
@raymundoortiz7269
@raymundoortiz7269 2 жыл бұрын
Nice!
@yazidali7071
@yazidali7071 3 жыл бұрын
Amazing tutorial.....
@seanallen
@seanallen 3 жыл бұрын
Happy to help!
@parthjangid3587
@parthjangid3587 Жыл бұрын
Hey Sean, Thanks for this amazing video. I have one silly question, correct me if I am wrong but when you click on a piece of code in the preview a border tends to appear around it. How can we get this for our project too?
@Bharat_s
@Bharat_s 2 жыл бұрын
I wish you could also tell how to make a button to go back to the first view or Home Screen. Thank btw. I was on a loop because I was using navigation view on every page. Thank a lot .
@user-tf9pt7yy7w
@user-tf9pt7yy7w Жыл бұрын
Nice tutorial! At first, I thought Gervonta Davis retired and started programming KZfaq.
@Tw33tMonsta14
@Tw33tMonsta14 3 жыл бұрын
How do we change the background color of the navigation bar title when it is .inline? I’ve tried doing UINaviationBar.appearance().backgroundColor = .red, but it only works when the bar title is large or automatic, not when it is inline.
@wenlongteo6272
@wenlongteo6272 2 жыл бұрын
Good tutorial for an Android developer who started to learn ios dev as well :) But how about deep link? Is it included in NavigationView?
@jakubkromoowski4065
@jakubkromoowski4065 2 ай бұрын
Is there some way to pass to button view destination like a color or font size?
@sharbel9624
@sharbel9624 3 жыл бұрын
LETS GO!
@wesleybritob
@wesleybritob 3 жыл бұрын
Nice video !! Unfortunately the way they design navigation link kind of sucks. If you have 3 views and when you are in your view3 you can't go back to the view1 unless you pass the state reference from view1 to view2 and view3...
@jaylensmith6308
@jaylensmith6308 2 жыл бұрын
Is it necessary to have them in one view file? I have the code navigating in between different view files
@cyberrage8658
@cyberrage8658 3 жыл бұрын
Hey sean, could you make a video on how to make a button that pops up another thing inside with more buttons, like in zoom meeting, where you press the reaction button and it pop ups another view or whatever the name is. Thanks
@seanallen
@seanallen 3 жыл бұрын
I have that on my list of video ideas... it's just a VERY long list.
@zenithacademy4588
@zenithacademy4588 Жыл бұрын
how to navigate between branched views as we do in storyboard. because this is completely sequential.
@finalpets
@finalpets 2 жыл бұрын
What about Nested NavigationView? how to return to the RootContoller?
@dotnetdevni
@dotnetdevni 2 жыл бұрын
.net has a good implementation called shell which creates a naivgation drawer on both ios and andriod but performace of shell is slow
@nam.ng0
@nam.ng0 11 ай бұрын
how can i make a custom back button?
@aganeto1
@aganeto1 3 жыл бұрын
I saw when you said to remove the NavigationView from BlueTwoView , otherwise it would push things very down. However I need a structure like ListView -> ListView -> DetailView... Something like nested listview or sublistview. For example: ----- Shoes (main listview) ----- Shoes blue (secondary listview) --- DetailView ShoewBlue --- Shoes Red --- DetailView Shoew Red --- Clothes How can I accomplish it? Thx
@codywright7658
@codywright7658 2 жыл бұрын
I would also like to know how to do this. I’ve been trying things all day.
@Devprogram
@Devprogram 3 ай бұрын
Now with ios 17, i got problems with NavigationView, and now trying to see newer implementation like the Navigation Stack
@seanallen
@seanallen 3 ай бұрын
I did a video all about NavigationStack here - kzfaq.info/get/bejne/pd6ga7Si3NiYcY0.html
@wafflestraw8631
@wafflestraw8631 Жыл бұрын
My preview keeps crashing. What should I do?
@dotnetdevni
@dotnetdevni 2 жыл бұрын
Swift ui falls down at navigation should have a simple navigation drawer abilitie but doenst
@gangalo68
@gangalo68 3 жыл бұрын
Great tutorials should use verbose code. Refactoring comes later.
@neuearthmedia
@neuearthmedia 3 жыл бұрын
Hi Sean, I enjoyed your tutorial on multiple navigation screens. I’m now trying to add a video player to the last screen to navigate from the second screen making to root my splash screen. How can I add that video player on the last screen and play a video stored in the cloud? Thx!
@jamesmartin46
@jamesmartin46 2 ай бұрын
Is the completed source code available for this project?
@seanallen
@seanallen 2 ай бұрын
Not for this project because NavigationView has been deprecated. I recommend watching my NavigationStack tutorial which was released in iOS 16 to replace NavigationView. - kzfaq.info/get/bejne/pd6ga7Si3NiYcY0.html
@stevez5134
@stevez5134 3 жыл бұрын
setting the frame still throws me off. are we not wanting the button to be a lot larger on iPad???
@seanallen
@seanallen 3 жыл бұрын
I hear ya. I have to draw the line somewhere when it comes to keeping the tutorial simple and focused on the task at hand. Bringing in geometry readers to a tutorial about NavigationView is too much distraction in my opinion. Trust me... people ask about EVERY aspect of the code in tutorials, even when it's not the topic being discussed. Another note is that not ALL apps are required to expand to iPad/Mac. There are tons of iPhone only apps out there.
@alcoop8729
@alcoop8729 3 жыл бұрын
idk if my swift is broken but none of this wants to work
@tariqAlmazyad
@tariqAlmazyad 3 жыл бұрын
Awesome tutorial . I wish you could one video where when you make ScrollView and the Large title in the navigation does not behave correctly when scrolling For Navigation configuration , I made my own View extension . here : - Extension: View { /// to modify the navBar attributes , title , bar color , and Translucent func navBarModifier(largeTitleColor: Color, smallTitleColor: Color, isTranslucent: Bool, barStyle: UIBarStyle, navBackgroundColor: Color, tintColor: Color, userInterfaceStyile: UIUserInterfaceStyle) -> some View { return self.onAppear{ UINavigationBar.appearance().largeTitleTextAttributes = [.foregroundColor: largeTitleColor.uiColor()] UINavigationBar.appearance().titleTextAttributes = [.foregroundColor: smallTitleColor.uiColor()] UINavigationBar.appearance().isTranslucent = isTranslucent UINavigationBar.appearance().barStyle = barStyle UINavigationBar.appearance().backgroundColor = navBackgroundColor.uiColor() UINavigationBar.appearance().tintColor = tintColor.uiColor() UINavigationBar.appearance().overrideUserInterfaceStyle = userInterfaceStyile } } // HOW TO USE ? struct ContentView: View { var body: some View { NavigationView{ Text("Text 123") .navBarModifier(largeTitleColor: .white, smallTitleColor: .white, isTranslucent: true, barStyle: .dark, navBackgroundColor: .clear, tintColor: .black, userInterfaceStyile: .dark) } } } }
@SummerCroatia
@SummerCroatia 2 жыл бұрын
Two things you forgot to mention. How to navigate without previous screen stack and how to navigate with multiple stacks.
@HerrParabel
@HerrParabel Жыл бұрын
Nice, but doesn‘t work for iPads at all.
@mhmtkrnlk
@mhmtkrnlk 2 жыл бұрын
I love most of the things about SwiftUI but this navigation system is absolute garbage. Think you are for some reason going to page1 -> page 2-> page3 then on page3 u want pop to root but cant u still have to go page2 even if you dont want. Think a framework that cant load pages based on however you want.
@IamTheGreatCornholioo
@IamTheGreatCornholioo 2 жыл бұрын
NavigationView / navigationLink is the only dumb crap I've seen so far in ios development, everything else is awesome, especially compared to android development
@ullchoenange4808
@ullchoenange4808 3 жыл бұрын
Awesome 😍💋 💝💖♥️❤️
@erickmartins9510
@erickmartins9510 Жыл бұрын
Thank you man!
SwiftUI - Swipe Actions on List | iOS 15 & Xcode 13
8:40
Sean Allen
Рет қаралды 13 М.
How to use NavigationStack in SwiftUI | Bootcamp #62
23:59
Swiftful Thinking
Рет қаралды 30 М.
THEY WANTED TO TAKE ALL HIS GOODIES 🍫🥤🍟😂
00:17
OKUNJATA
Рет қаралды 16 МЛН
ИРИНА КАЙРАТОВНА - АЙДАХАР (БЕКА) [MV]
02:51
ГОСТ ENTERTAINMENT
Рет қаралды 10 МЛН
SwiftUI List with Custom Cell & Passing Data
36:27
Sean Allen
Рет қаралды 114 М.
The Complete Guide to NavigationView in SwiftUI
39:18
Paul Hudson
Рет қаралды 129 М.
I Finally Got a Tesla Cybertruck and It Scares the Crap Out of Me
12:42
How to become an iOS developer in 2021
53:33
Paul Hudson
Рет қаралды 163 М.
Use Arc Instead of Vec
15:21
Logan Smith
Рет қаралды 137 М.
WWDC24: SwiftUI essentials | Apple
24:16
Apple Developer
Рет қаралды 30 М.
Lecture 1 | Stanford CS193p 2023
1:11:04
Stanford CS193p
Рет қаралды 83 М.
Игровой Комп с Авито за 4500р
1:00
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 1,9 МЛН
Спутниковый телефон #обзор #товары
0:35
Product show
Рет қаралды 2 МЛН
1$ vs 500$ ВИРТУАЛЬНАЯ РЕАЛЬНОСТЬ !
23:20
GoldenBurst
Рет қаралды 1,5 МЛН