@@CMessineo first, sorry for my english. NavigationLink doesnt need a button. They dont work together. Just use NavigationLink without button section. Try this: .toolbar { ToolbarItemGroup(placement: .topBarLeading) { HStack { Image(systemName: "person.fill") Image(systemName: "flame.fill") } } ToolbarItemGroup(placement: .topBarTrailing) { NavigationLink(destination: myOtherScreen()) { Image(systemName: "gear") .foregroundColor(.red) } } }
Hello Nick, the NavigationView is deprecated since 2022. Could you make a video about the NavigationStack? Thanks a lot for your fantastic SwiftUI courses!
Excellent Language! I am coming from a react native background and it's just so similar, but way more intuitive and simple. Swift is just simply amazing. And you explained it so beautifully.
So helpful! I do have a question though, and I'm sure other people have had the same... When I switch to a different struct with a navigation link (like a log in screen to a main menu), when I add a new navigation link to the menu and use it; the third page has both the original navigation title that returns to the first page, and a second underneath it that returns to the second page, and it downshifts the entire third page. Does anyone know how to fix this? Thank you so much for your channel and I hope you never stop making these videos!
for deprecated features for which you have created new videos, can you add in the description of the respective video the new video link so that we know that there is a new video for this and that this is deprecated.
Hey i got a question, for that third screen. I tried using navigation link to go to a new link but for some reason my "back" button keeps getting added instead of it being replaced so say my first view is inboxes i click the navigation link and then it would move to the messages views there would be a back button that says inboxes (still normal) but then from that second page when i click a navigation link to a third page then the back button that says inboxes is still there PLUS underneath it there's a back button for me to go to messages as well. could you help me please?
Hi Arman! It sounds like you have 2 NavigationViews in the hierarchy. Once you are inside a NavigationView, you only need to use NavigationLinks to segue. I'm guessing the 3rd screen you are going to has another NavigationView on it. You only need to use this once!
Hi Mark! Of course... I will be adding more advanced playlists after this one. However, the SwiftUI Bootcamp is going to be beginner level videos only.
Hey i am new on swiftui and xcode, i am used to using vs code and prettier. how can i achieve on save code format on xcode like prettier. i have turned on convert exist file on save . There is always empty lines in code i want it to gone away on save
Hi, excelente video. Two questions : 1) Can I add an Image(systemName()) to the NavigationTitle()? 2) can I put the .NavigationLink() inside a .OnTapGesture?
Hi, 1) Is it possible in an argument title of NavigationLink to pass anything instead of String? 2) How I can set any modifier(.font(.title2) .fontWeight(.semibold) to a title(String) argument of NavigationLink? Thank you
Hello! No, this is not possible. The Navigation Title that comes by default is not very customizable. You would need to make your own title section and customize a Text().
Hi Adit! I will cover updating fonts in a future video, but if you want to override the default font in the NavigationView you can the following within the init or anywhere in your app before the screen loads: UINavigationBar.appearance().largeTitleTextAttributes = [.font: UIFont(name: "Arial", size: 32)!]
it would be great to put the problems one might face by putting "MyOtherScreen" in another navigation view because It took me two weeks to figure it out. again thanks for your videos. I found it in a nick of time. if I'm right putting "MyOtherScreen" in another navigation view will make the screen look funny at the top when you segue from the first screen to the next screen. it creates too mush extra space that is suppose to be for a navigation title. at this point I'm changing my instagram bio to software developer.
Hi Hugo! No, unfortunately we can't customize the default Navigation Bar that Apple gives us. However, we can hide the Navigation Bar and put our own custom View on the screen instead. If you are just learning SwiftUI, I would recommend using Apple's default styling until you are more comfortable. I will be doing a "Custom Navigation Bar" in a more advanced course coming soon!
Hey, I'm trying to add the ScrollView() ontop of my Image("background") but for some reason my image always overlaps the scrollView is there a solution to this?
Hey, I'm not sure exactly what the issue is. The background should be i na Zstack behind the scroll view. You can post some code in our Discord if you're still stuck: discord.gg/vhKKyYTGDb
Hey bob! I think there’s a limit to 10 items in any ViewBuilder (HStacks, VStacks, etc.) It should work if you break it up into sections (you can do stacks within stacks) or use a ForEach loop instead
Continuing with my questions : one of two, I am either doing something wrong or it can't be done who I have my setup. I am have custom shapes (I would like to use them as buttons/navegationlink label) I have a ForEach loop within a ZStack displaying 6 of these navegationlinks, each to a different destination. Result: they do display, but upon clicking each one, only the last one is selected, and thus can only segeway to the last View! What am I doing wrong? is there an issue generating navegationlinks within a ForEach within a ZStack? thanks Nick!
Hi! The source code is available on my Github if you want to compare your code (github.com/SwiftfulThinking). It sounds like you're mistyping something.
I think it has todo something with the tappable area = .frame and zstack overlaying these frames. My shapes are irregular (arcs) and .frames are square! Any suggestion?
Thank you for your work! its one of the most understandable video that I watched about navigation links with swiftui. But now im stuck when im trying to link login and password button with firebase. Do you have any content about it on your channel ? //sorry for my English)
This is the first video I couldn't finish, because I couldn't figure out how to make NavigationBarItems work in 15.x. EDIT: I got it to work - it was just a typo.
You can still use deprecated methods. Apple will “deprecate” methods but they will continue to work for years lol the new way is using .toolbar. FYI, I’ve appended videos at the end of each playlists that cover these changes when you get there
cannot use .navigationBarItems right now(22.11.04) i made same UI with .toolbar { ToolbarItem(placement: .navigationBarLeading) { Image(systemName: "person.fill") } ToolbarItem(placement: .navigationBarTrailing) { Image(systemName: "gear") } } anyone who have better ideas, please comment below
Navigation bar items is depricated, you have to use the .toolbar modifier instead
.toolbar {
ToolbarItemGroup(placement: .navigationBarLeading) {
Button {
} label: {
Image(systemName: "person.fill")
}
}
ToolbarItemGroup(placement: .navigationBarTrailing) {
Button {
} label: {
Image(systemName: "gear")
}
}
}
⛔ #NavigationView is deprecated. Check ➡ *New* Video #62
*_NavigationStack_* -> th-cam.com/video/GZ-hQWMjT0s/w-d-xo.htmlsi=j71M7VmAkN1DrM0e
⛔ #navigationBarItems is deprecated. Check ➡ *New* Video #63
*_Toolbar_* -> th-cam.com/video/53fWEfSo0tk/w-d-xo.htmlsi=KsHuRnexUQjMIkMe
What do you put inside the "button" code to switch to the other screen?
@@CMessineo first, sorry for my english. NavigationLink doesnt need a button. They dont work together. Just use NavigationLink without button section. Try this:
.toolbar {
ToolbarItemGroup(placement: .topBarLeading) {
HStack {
Image(systemName: "person.fill")
Image(systemName: "flame.fill")
}
}
ToolbarItemGroup(placement: .topBarTrailing) {
NavigationLink(destination: myOtherScreen()) {
Image(systemName: "gear")
.foregroundColor(.red)
}
}
}
Hello Nick, the NavigationView is deprecated since 2022. Could you make a video about the NavigationStack? Thanks a lot for your fantastic SwiftUI courses!
and also buddy it is nothing complex it is same as Navigation View
@RehanKhan-zw3vqThank you 😊
One day, I will meet you and thank you for everything you have done!, each of your videos are so well made and have help me out so much !
excat same thing what i thought today
@@letswrite_code funny thing I just put my first app in the App Store all thanks to him
I hate SwiftUI...but this video finally showed me something I like. Thank you!
Good stuff thank you. I was thinking along the about getting from the third screen back to the first without visiting the second view on the way?
Excellent Language! I am coming from a react native background and it's just so similar, but way more intuitive and simple. Swift is just simply amazing. And you explained it so beautifully.
Thanks! React is also great 👍
100% agreed, those who are coming from the react native background, this is the best series for learning SwiftUI
Please we need a video of the new navigation technique in IOS16 it's called Navigation Stack
Excellent tutorial.... amazing. Thank you so much. Real knowledge. Keep going....
My pleasure. Thanks for watching Andrej...
@@SwiftfulThinking you are smart... Go Beyond
Great video! bought you 3 coffee's to keep you going with all these fantastic video's....bob
Beautifully explained. Glad I found this channel today, event if it's quite late
Amazing video. Any plans to redo, or re-upload this video, now that iOS 16 is out and NavigationView got a complete overhaul?
Nick thanks for making this video is awesome, keep it up God bless you
So helpful! I do have a question though, and I'm sure other people have had the same... When I switch to a different struct with a navigation link (like a log in screen to a main menu), when I add a new navigation link to the menu and use it; the third page has both the original navigation title that returns to the first page, and a second underneath it that returns to the second page, and it downshifts the entire third page. Does anyone know how to fix this? Thank you so much for your channel and I hope you never stop making these videos!
Hello, Nick. Why you use ZStack inside of MyOtherScreen instead of a vstack or hstack...
Great video. Any tips on dismissing the entire stack at once rather than going back each time?
for deprecated features for which you have created new videos, can you add in the description of the respective video the new video link so that we know that there is a new video for this and that this is deprecated.
Your video is super helpful but I have a question. How to I hide the buttons above my navigationlink so it does not show up on my second screen.
How many people are using SwiftUI in the world? You deserve more subscribers
Haha I think more people are learning SwiftUI every day
Sure, I am excited.....
Hahaha glad you are too!
I don't know why your intro feel like ad... Thanks for making video.
Great video as usual Thank you so much
Nick , Thank you again for your helpful tutorial 🤎🤎
Hey Nick !! Your videos are amazing but there are some tools deprecated. Isn't it possible to talk about the tools deprecated ?
Hey its been long time upen this video but can you show .isDetailLink stuff how to rotate between like viewA->viewB->viewC->viewA
Hey i got a question, for that third screen. I tried using navigation link to go to a new link but for some reason my "back" button keeps getting added instead of it being replaced so say my first view is inboxes i click the navigation link and then it would move to the messages views there would be a back button that says inboxes (still normal) but then from that second page when i click a navigation link to a third page then the back button that says inboxes is still there PLUS underneath it there's a back button for me to go to messages as well. could you help me please?
Hi Arman! It sounds like you have 2 NavigationViews in the hierarchy. Once you are inside a NavigationView, you only need to use NavigationLinks to segue. I'm guessing the 3rd screen you are going to has another NavigationView on it. You only need to use this once!
make some video on advanced topic like firebase upload image in list and some others SwiftUI advance.
Hi Mark! Of course... I will be adding more advanced playlists after this one. However, the SwiftUI Bootcamp is going to be beginner level videos only.
Hi can you explain after tap on login screen how to change root view in swiftui?
Hey i am new on swiftui and xcode, i am used to using vs code and prettier. how can i achieve on save code format on xcode like prettier. i have turned on convert exist file on save . There is always empty lines in code i want it to gone away on save
If you wanted to can you also turn the other 3 hello worlds into naviagation links aswell? can you do multiple navigation links in the list
Hi, excelente video. Two questions : 1) Can I add an Image(systemName()) to the NavigationTitle()? 2) can I put the .NavigationLink() inside a .OnTapGesture?
1) No, but you can use emojies in the Navigation title 🥳
2) No, a NavigationLink is a clickable button itself. You don't need the tapGesture!
Helpful, Thanks a lot
Hi,
1) Is it possible in an argument title of NavigationLink to pass anything instead of String?
2) How I can set any modifier(.font(.title2) .fontWeight(.semibold) to a title(String) argument of NavigationLink?
Thank you
Hello! No, this is not possible. The Navigation Title that comes by default is not very customizable. You would need to make your own title section and customize a Text().
is possible to make styling on "ALL INBOX", example change color ?
Hi Adit! I will cover updating fonts in a future video, but if you want to override the default font in the NavigationView you can the following within the init or anywhere in your app before the screen loads: UINavigationBar.appearance().largeTitleTextAttributes = [.font: UIFont(name: "Arial", size: 32)!]
@@SwiftfulThinking thank you very much for you help, I found other solutions, I hide the bar, and create custom Navbar, with HStack
it would be great to put the problems one might face by putting "MyOtherScreen" in another navigation view because It took me two weeks to figure it out. again thanks for your videos. I found it in a nick of time. if I'm right putting "MyOtherScreen" in another navigation view will make the screen look funny at the top when you segue from the first screen to the next screen. it creates too mush extra space that is suppose to be for a navigation title. at this point I'm changing my instagram bio to software developer.
@ 15:43. got it. just gotta pay attention more. all this knowledge with just 715 views? society is walking on its head and thinking with its feet.
Haha yea 1 NavigationView is all you need! Thanks for watching Rasheed.
Greate bro..😇
Is it possible to resize the navigation bar ? To use it as a header of the view ?
Thank you
Hi Hugo! No, unfortunately we can't customize the default Navigation Bar that Apple gives us. However, we can hide the Navigation Bar and put our own custom View on the screen instead. If you are just learning SwiftUI, I would recommend using Apple's default styling until you are more comfortable. I will be doing a "Custom Navigation Bar" in a more advanced course coming soon!
Hey, I'm trying to add the ScrollView() ontop of my Image("background") but for some reason my image always overlaps the scrollView is there a solution to this?
Hey, I'm not sure exactly what the issue is. The background should be i na Zstack behind the scroll view. You can post some code in our Discord if you're still stuck: discord.gg/vhKKyYTGDb
Is there a limit to number of navigation links, or entries in navigation view? After I did 10 entries,I get a compile error….extra argument in call
Hey bob! I think there’s a limit to 10 items in any ViewBuilder (HStacks, VStacks, etc.) It should work if you break it up into sections (you can do stacks within stacks) or use a ForEach loop instead
Continuing with my questions : one of two, I am either doing something wrong or it can't be done who I have my setup. I am have custom shapes (I would like to use them as buttons/navegationlink label) I have a ForEach loop within a ZStack displaying 6 of these navegationlinks, each to a different destination. Result: they do display, but upon clicking each one, only the last one is selected, and thus can only segeway to the last View! What am I doing wrong? is there an issue generating navegationlinks within a ForEach within a ZStack? thanks Nick!
Hi! The source code is available on my Github if you want to compare your code (github.com/SwiftfulThinking). It sounds like you're mistyping something.
I think it has todo something with the tappable area = .frame and zstack overlaying these frames. My shapes are irregular (arcs) and .frames are square! Any suggestion?
I know Your are busy with firebase course but Can You Redo this tutorial as navigationView is deprecated and all other tutorials are complicated
I am adding videos to the end of this playlist starting next week 👍
thank you very much
You're welcome Sefer !
Thank you for your work!
its one of the most understandable video that I watched about navigation links with swiftui.
But now im stuck when im trying to link login and password button with firebase.
Do you have any content about it on your channel ?
//sorry for my English)
Hi ProДеньги! I do not have any Firebase content YET. However, I've had many requests for it so I'm planning on doing a Firebase playlist soon.
@@SwiftfulThinking This would be great if you're still considering this!
great video
Thanks Charlie!
great!!! thank you
This is the first video I couldn't finish, because I couldn't figure out how to make NavigationBarItems work in 15.x. EDIT: I got it to work - it was just a typo.
You can still use deprecated methods. Apple will “deprecate” methods but they will continue to work for years lol the new way is using .toolbar.
FYI, I’ve appended videos at the end of each playlists that cover these changes when you get there
cannot use .navigationBarItems right now(22.11.04) i made same UI with
.toolbar {
ToolbarItem(placement: .navigationBarLeading) {
Image(systemName: "person.fill")
}
ToolbarItem(placement: .navigationBarTrailing) {
Image(systemName: "gear")
}
}
anyone who have better ideas, please comment below
also cannot use .accentColor. I used .foregroundColor instead
.toolbar {
ToolbarItem(placement: .topBarLeading, content: {
Image(systemName: "person.fill")
})
}
jajajaja exactly the same
Great video, but keep in mind that this is deprecated, so now apple want us to use NavigationStack instead.
hmm seems like navigationBarItems has been deprecated
We can use the .toolbar instead, and place items on the .navigationBarLeading and .navigationBarTrailing placements!
Lets get Coding
Let's goo!
Maybe it helps someone. After deprecation, the new implementation looks like this:
in new implementation instead of NavigationView >> NavigationStack. Also changed NavigationLink syntax. Implementation looks:
NavigationStack {
ScrollView {
NavigationLink {
MyOtherScreen()
} label: {
Text("Hello World!")
}
Text("Hello World!")
Text("Hello World!")
Text("Hello World!")
}
.navigationTitle("All inboxes")
.toolbar {
ToolbarItem(placement: .topBarLeading) {
NavigationLink {
MyOtherScreen()
} label: {
HStack {
Image(systemName: "person.fill")
Image(systemName: "flame.fill")
}
}
}
ToolbarItem(placement: .topBarTrailing) {
NavigationLink {
// Some another screen
} label: {
Image(systemName: "gear")
}
.tint(.red)
}
}
}
presentationMode.wrappedValue.dismiss() is now deprecated.
use
@Environment(\.dismiss) private var dismiss
great, thanks a lot!