I'm familiar with this approach, however I'm not a fan of the way it organizes the file. Once a screen is more complex, there are a lot of lazy vars with all their configuration code up top. This, of course, is just personal preference.
I have to say that you are the most precise and helpful of the many people offering Swift tutorials. Whenever I'm learning something or trying to clarify something that I think I know :( you are the one that most often gets me as quickly as possible on the right track, with the least wasted time, diversions and cruft. Thanks for the great, well crafted work.
Thanks Don. This means a lot. I put a ton of time and effort (and editing) into this idea. I'm always thinking "How can I deliver this lesson in the most concise and direct way possible". Glad to see that effort is resonating 😀.
I am new to iOS Development, and this might be the only tutorial that I understood programmatic UI very clearly! Thanks for your great work! Please make more videos about this topic🙏
Happy to hear I could help! I know it's not a free RUclips video, but I do have an entire course where we build an app completely with programmatic UI in UIKit if you're interested. seanallen.teachable.com/p/take-home
This kind of content keeps me hungry for more and your timing is excellent as I am currently in the process of moving my App off the storyboard for more/better UI control. Much appreciated.
Thanks a lot for this short video but yet full of content regarding programmatic UI especially for beginners. I would love to see more of those if possible.Thanks a lot Sean and keep up the good work.
I love this, thank you! Feels empowering. One note: According to the old Matt Neuburg book, `window = UIWindow(windowScene: windowScene)` would be simpler than getting the window frame from the scene bounds and then setting window.windowScene.
I have some years of experience in Android development and I'm wanting to switch to Kotlin Multiplatform but decided to first learn Native iOS development and build a couple of projects first. I didn't want to go the Storyboard approach and I did find this tutorial clear and concise. Also thanks for that 10+ hrs beginner tutorial, I'll be watching it
When I started learning iOS programming 4years ago, I instantly switched to using programmatic UI, I hated storyboards! So I never learned using storyboards.... Now I'm working at a big company with over 2.6mil active users for their app, and they built everything in storyboards, and I can't get them to switch over... crying in a corner.... On the upside though, they are actually willing to switch to SwiftUI! And I'm the only one there that actually knows SwiftUI :P
Sean, thanks for triggering nostalgic feelings associated with developing UIKit apps. Loved working with the framework, but the introduction of SwiftUI was there to remind the quote "Adapt or Die". Great vid as always✨
I’m also a culprit for not using the specific life cycle methods when you should. I think maybe apple could be better at helping people get used to using them 🤷🏻♂️
I have a question Sean. The first part of the video where you initiated the app in SceneDelegate, do you have a video that specifically explains in detail what the window is, and why you instantiate everything like this? Also a video about AppDelegate would be nice as well. Any way, do you have a video that specifically explains that part of SceneDelgate in detail? Because i really want to understand what is going on in there
learning how to design programmaticaly. help me in my job. it is all storyboard ,xibs, but if i touch the storyboard ,,,everything becomes a mess , so by code i change the desing, it works xD
Hi, The first time you create a swift Uikit Storyboard, a black screen appears and it does not work. Before I used swiftui I switched back to uikit and it's all black screen in a brand new project every time I can't change it
I love your tutorial style: Clean, put complex subject into easy steps, use easy to understand approach. I hope you can create more UIKit Programmatic tutorial. Can you explain this ViewController Navigation. Example 3 VC. VC1 goto VC2 by Present(VC2) , VC2 goto VC3 by Present(VC3) & VC2.dismiss, When VC3.dismiss, it will fallback to VC1. So What this VC.dismiss means? How the System keep track for this kind of VC navigation? When VC.Dismiss, it this means the System has a System Stack ? it just like NAvigationController? If I do VC1 goto VC2 & VC1.dismiss, VC2 to VC3 & VC2.dismiss, When VC3.dismiss, this will create problem? Can you explain. Thanks
I’ve been learning strictly SwiftUI and watching this video (while interesting and I’d still like to learn it) I can’t help but wonder why more people don’t lean towards SwiftUI. I suppose I think that way because SwiftUI is all I’ve been exposed to so far, but watching this video I was thinking it out in my head how much simpler it is to accomplish this entire video in SwiftUI. I really hope more people start phasing in SwiftUI as it gets more powerful. Great vid as always though, Sean.
I think going forward SwiftUI will be the norm but still now bigger projects are mostly objc+Swift and will contain everything from Xibs to storyboards to programmatic UI. I think it’s important to know how to work with each of these just for longevity sake as I can’t see purely SwiftUI projects being realistic for huge apps that have been out for a while
Thank you so much for the tutorial. Unfortunately, setting exact pixel widths and heights is a very bad practice for accessibility because it defeats dynamic type. Please teach developers to use dynamic sizes instead of exact sizes. Thank you.
Im sure some companies still use storyboard, but why has no one come out with a UIkit course that purely programatic since its a better way to approach huge apps like companies you would work for?
Not sure if you're joking or not, but I'll bite :). I have a course that doesn't exactly that which I talk about in this video. You can find it here - seanallen.teachable.com
@@seanallen No I was not joking lol I meant a course at length of a full blown course just programatic but I guess it makes sense to teach students with storyboards since it is more visual and I have taken your github course It is probably the best programatic course I have ever taken. I use it to drill building components, so thank you for that.
I absolutely love your teaching style but I gotta say, the pricing structure of your courses is outrageous. Meng To of Design+Code charges a $20 monthly subscription that gives access to all the courses. This seems preferable to me. $129 for what amounts to a single module just seems quite outrageously expensive and poor value. I paid $10 for the ENTIRE app brewery iOS course on Udemy.
I respect and appreciate the feedback. Value is subjective. I've sold many thousands of courses to overwhelmingly positive reviews. They have helped tons of students get their first well-paying iOS developer job. I honestly believe they are underpriced, but again... value is subjective.
SnapKit is a really nice framework for programmatic ui, however I believe beginners should at least know the basics of programmatic UI before abstracting it away to a 3rd party library.
This is incorrect. I just pulled up the code and ran it to double check. Did you start a "SwiftUI" project and not a UIKit one (Storyboard)? Because if you started a SwiftUI project, then yes... it won't work.
Love it Sean! I had the opportunity to check your course for free 30 days given from iOSDevHappyHour and it's awesome. I am coming back to conclude my journey with Take Home Project in few weeks when I finish #100DaysOfSwift. Cheers.
My iOS Dev Courses - seanallen.teachable.com
you should use lazy vars and set all that properties in the control declaration, that's more clean but great job !!!
@Sean Allen what about more Swift & UIKit courses? Like MVVM + Combine + UIKit (programmatic)
I'm familiar with this approach, however I'm not a fan of the way it organizes the file. Once a screen is more complex, there are a lot of lazy vars with all their configuration code up top. This, of course, is just personal preference.
getting back into ios again after a year off...this is a life saver...hopefully i wont quit this time....
I have to say that you are the most precise and helpful of the many people offering Swift tutorials. Whenever I'm learning something or trying to clarify something that I think I know :( you are the one that most often gets me as quickly as possible on the right track, with the least wasted time, diversions and cruft. Thanks for the great, well crafted work.
Thanks Don. This means a lot. I put a ton of time and effort (and editing) into this idea. I'm always thinking "How can I deliver this lesson in the most concise and direct way possible". Glad to see that effort is resonating 😀.
It would actually be really nice if you could do more small UIKit tutorials like this.
Appreciate the hard work Sean.
I plan on it :)
I am new to iOS Development, and this might be the only tutorial that I understood programmatic UI very clearly! Thanks for your great work! Please make more videos about this topic🙏
Happy to hear I could help! I know it's not a free RUclips video, but I do have an entire course where we build an app completely with programmatic UI in UIKit if you're interested. seanallen.teachable.com/p/take-home
This kind of content keeps me hungry for more and your timing is excellent as I am currently in the process of moving my App off the storyboard for more/better UI control. Much appreciated.
I plan on making more like this :)
Thanks a lot for this short video but yet full of content regarding programmatic UI especially for beginners. I would love to see more of those if possible.Thanks a lot Sean and keep up the good work.
I plan on doing more programmatic UI videos
This was what I wanted to watch. Hope u do more such kinda videos about programmatic UI
More are in the works 👍
I love this, thank you! Feels empowering. One note: According to the old Matt Neuburg book, `window = UIWindow(windowScene: windowScene)` would be simpler than getting the window frame from the scene bounds and then setting window.windowScene.
Thanks for the tip!
I have some years of experience in Android development and I'm wanting to switch to Kotlin Multiplatform but decided to first learn Native iOS development and build a couple of projects first. I didn't want to go the Storyboard approach and I did find this tutorial clear and concise. Also thanks for that 10+ hrs beginner tutorial, I'll be watching it
Hope you enjoy that course!
When I started learning iOS programming 4years ago, I instantly switched to using programmatic UI, I hated storyboards!
So I never learned using storyboards.... Now I'm working at a big company with over 2.6mil active users for their app, and they built everything in storyboards, and I can't get them to switch over... crying in a corner....
On the upside though, they are actually willing to switch to SwiftUI! And I'm the only one there that actually knows SwiftUI :P
I started off learning on storyboard, then gradually became a programmatic convert.
Sean, thanks for triggering nostalgic feelings associated with developing UIKit apps.
Loved working with the framework, but the introduction of SwiftUI was there to remind the quote "Adapt or Die".
Great vid as always✨
Thanks Murman!
Great content as always, I hope you create more of this kind of video.
I plan on it :)
Fabulous!
Would be great to see tutorials on programmatic UI
Coming soon :)
you're the person who made me want to learn UIKit programmatically.
I didn't like the storyboard approach, which I don't really know.
Happy I could help learn programmatic UI!
Very useful, high quality contents. Thank you very much Sean.
Glad you enjoyed it, Mahmut!
Wow, you're an excellent teacher! Loving and recommending this! Thank you :)
Thanks for the kind words, Pedro! Happy to hear you enjoy the content!
Holy shit this is what i needed i hope you continue this. you will help me greatly
More on the way!
Amazing. This just works for iOS??
Why don't you use the loadView function of the viewcontroller to add your view(s)? Isn't that's why it exists?
8 years of iOS and I didn't know this existed lmao thanks
@@Deeyennay Me neither LOL
I don't have a good reason other than viewDidLoad is what Apple fills in for the boilerplate ViewController code so that's what I've always used. 🤷♂️
I’m also a culprit for not using the specific life cycle methods when you should. I think maybe apple could be better at helping people get used to using them 🤷🏻♂️
4years, never knew
This is a very valuable lesson!
Thanks Sean!
Happy to help, Filipe!
Great topic Sean. Are you planning to do more of it? I mean a playlist or series something?
Yup :)
wow I just plan to learn UI programmatically and here you are. Totally Awesome.
I have a question Sean. The first part of the video where you initiated the app in SceneDelegate, do you have a video that specifically explains in detail what the window is, and why you instantiate everything like this? Also a video about AppDelegate would be nice as well. Any way, do you have a video that specifically explains that part of SceneDelgate in detail? Because i really want to understand what is going on in there
Incredible great explanation
Glad you liked it, Martin
Why didn’t u use the new UIAction method instead of the addTarget() method with selectors?
The honest answer: I've been working with nothing but SwiftUI the past 3 years and wasn't aware of it. Thanks for pointing it out!
@@seanallen Sure no problem, all good :)
It would be great to see more on programmatic UI
Good stuff Sean
THanks Colby!
I have been doing code programmatically ever since. It takes a little more time but atleast the code can stay organized
So, SwiftUI or UKKit for the future? I just have so much memories with UIKit and Objective-C, fun times. But SwiftUI is lovely
SwiftUI is for sure Apple's future. They are beating us developers over the head with that notion.
Enjoyed this. Thank you.
Happy to hear it, Steve!
I love you bro, thanks for the great lesson
Happy to help.
learning how to design programmaticaly. help me in my job. it is all storyboard ,xibs, but if i touch the storyboard ,,,everything becomes a mess , so by code i change the desing, it works xD
Yup. Once a project gets complex... code is the way to go.
Is UI Kit still good to learn if I want to start freelancing?
thank you i like your explanation
Glad it was helpful!
Can you record a tutorial on how to use Programmatic UIKit with CoreData NSFetchedResultsController?
if init like that -> window = .init(windowScene: windowScene) ... would that be wrong?
It does the exact same thing with one less line of code. The shown init is an old one used regularly before scene delegate and windows were a thing.
SwiftUI rules!!!!!
It does. But a lot of apps are still in UIKit.
I have question bro
If i write code without storyboard
I will add same code in sreendelegate.?
Hi,
The first time you create a swift Uikit Storyboard, a black screen appears and it does not work. Before I used swiftui I switched back to uikit and it's all black screen in a brand new project every time I can't change it
I love your tutorial style: Clean, put complex subject into easy steps, use easy to understand approach. I hope you can create more UIKit Programmatic tutorial. Can you explain this ViewController Navigation. Example 3 VC. VC1 goto VC2 by Present(VC2) , VC2 goto VC3 by Present(VC3) & VC2.dismiss, When VC3.dismiss, it will fallback to VC1. So What this VC.dismiss means? How the System keep track for this kind of VC navigation? When VC.Dismiss, it this means the System has a System Stack ? it just like NAvigationController? If I do VC1 goto VC2 & VC1.dismiss, VC2 to VC3 & VC2.dismiss, When VC3.dismiss, this will create problem? Can you explain. Thanks
thank you teacher
You are welcome
Dude, I love you
In iOS 17++ I must be delete file LaunchScreen.storyboard, not Main.storyboard.
I’ve been learning strictly SwiftUI and watching this video (while interesting and I’d still like to learn it) I can’t help but wonder why more people don’t lean towards SwiftUI. I suppose I think that way because SwiftUI is all I’ve been exposed to so far, but watching this video I was thinking it out in my head how much simpler it is to accomplish this entire video in SwiftUI. I really hope more people start phasing in SwiftUI as it gets more powerful. Great vid as always though, Sean.
I think going forward SwiftUI will be the norm but still now bigger projects are mostly objc+Swift and will contain everything from Xibs to storyboards to programmatic UI. I think it’s important to know how to work with each of these just for longevity sake as I can’t see purely SwiftUI projects being realistic for huge apps that have been out for a while
Hello, where do I start learning a language?
Try my free absolute beginner course here on RUclips - ruclips.net/video/CwA1VWP0Ldw/видео.html
@@seanallen I would like to ask you which is better, Swift UI or SwiftUIkit
If you are just starting to learn Swift and iOS Development I would focus on SwiftUI.
Can someone plz explain without being smart.(not snobby) howbto program programmatically? Like how to you know what cones next?
Thank you so much for the tutorial. Unfortunately, setting exact pixel widths and heights is a very bad practice for accessibility because it defeats dynamic type. Please teach developers to use dynamic sizes instead of exact sizes. Thank you.
thanks sooo much...
No problem, Emmanuel!
thx
Happy to help.
Im sure some companies still use storyboard, but why has no one come out with a UIkit course that purely programatic since its a better way to approach huge apps like companies you would work for?
Not sure if you're joking or not, but I'll bite :). I have a course that doesn't exactly that which I talk about in this video. You can find it here - seanallen.teachable.com
@@seanallen No I was not joking lol I meant a course at length of a full blown course just programatic but I guess it makes sense to teach students with storyboards since it is more visual and I have taken your github course It is probably the best programatic course I have ever taken. I use it to drill building components, so thank you for that.
I am actually can’t find the GitHub followers course right now
@@seanallen Where is the GitHub followers course ? I can’t see it on the site :(
Then you will realise that you need more control over navigation and discover MVVM-C for UiKit
All your videos should be how to do things programmatically, because storyboards really aren't used that often.
Agreed. I don't think I've made a video involving storyboards since 2018.
I absolutely love your teaching style but I gotta say, the pricing structure of your courses is outrageous.
Meng To of Design+Code charges a $20 monthly subscription that gives access to all the courses. This seems preferable to me.
$129 for what amounts to a single module just seems quite outrageously expensive and poor value. I paid $10 for the ENTIRE app brewery iOS course on Udemy.
I respect and appreciate the feedback. Value is subjective. I've sold many thousands of courses to overwhelmingly positive reviews. They have helped tons of students get their first well-paying iOS developer job. I honestly believe they are underpriced, but again... value is subjective.
I think SnapKit tutorial will be much more useful
SnapKit is a really nice framework for programmatic ui, however I believe beginners should at least know the basics of programmatic UI before abstracting it away to a 3rd party library.
This post was made 11 months ago, honestly nothing works, just wasted my time thanks bro
This is incorrect. I just pulled up the code and ran it to double check. Did you start a "SwiftUI" project and not a UIKit one (Storyboard)? Because if you started a SwiftUI project, then yes... it won't work.
it's a huge backstep! why did apple this? idiotic approach
Love it Sean! I had the opportunity to check your course for free 30 days given from iOSDevHappyHour and it's awesome. I am coming back to conclude my journey with Take Home Project in few weeks when I finish #100DaysOfSwift. Cheers.
Happy to hear it, Ivan!