Great video! I wanted to know if there is a way to scroll only to the next item in the list? basically meaning that in each scroll you can only scroll one item, similar to TikTok or other similar apps? thanks.
Sean, have you done a deep dive into swift data? i’m having some issues now with the model controller. Trying to get my first app on the App Store. These errors are killing me.
I haven't done a super deep dive. I have my surface level Swift Data video and I'm working on my own Core Data - SwiftData conversion. Give me a few more months and I'll be a lot more comfortable with it.
This is awesome. I love your teaching style, and your videos are always on point. So the big question for me becomes when should I start adopting iOS 17 API changes? Should I just dive in right away now that it's public, or should I wait? What is adoption like a week after release? I don't know how to check these things, but that's OK. I feel like I should assume most iPhone users will upgrade quickly, most likely. It's a little hazier when I want to also publish a Mac Catalyst version, because stuff like SwiftData and these new features won't run on Sonoma, and I don't know if people upgrade their Macs straight away.
Glad you like them! There's not official data out on that yet, but historically yes... iOS users tend to adopt the latest version pretty quickly. Here's the iOS 16 adoption for context - mixpanel.com/trends/#report/ios_16/from_date:-365,report_unit:week,to_date:-27
This is awesome. However, when I attempt to use it in my project I am getting the error: 'containerRelativeFrame(_:count:span:spacing:alignment:)' is only available in iOS 17.0 or newer. There's a couple of fix options: - Add 'if #available' version check - Add @available attribute to enclosing property - Add @available attribute to enclosing struct So does this mean if the running user's device is not on iOS 17 then this feature is essentially not accessible for them? Personally, I want to code 1 thing and not have to incorporate checks to see if they are on iOS 17 and if they aren't then have to code a different feature for those users.
Yes, this feature is only available in iOS 17. So if you need to support iOS 16 or below, you’ll need to use the availability checks you listed above. However, if you can make your app a minimum of iOS 17 then you can use the code in the video.
That makes total sense. If I am working on an App that I expect to get onto the App Store within the next 6-12 months, do you think making the Minimum Deployment of iOS 17 is fine? Curious if it would negatively impact downloads and what not.
If you aren't going to release for another 6-12 months then I would do a minimum of iOS 17. Because by the time you release iOS 18 will be out (or close to being released) and it's most common to support the latest 2 iOS versions (in your case would be iOS 17 and 18).
Has anybody else gotten this to work? When I try I get 2 errors on line 19 with Sean's code: Cannot infer contextual bas in reference to member 'horizontal' & Value of type 'Circle' has no member 'containerRelativeFrame'... bummer I really wanted to play around with this.
Hey@@seanallen I really appreciate the quick response! The highest version I am able to set the minimum deployment is 16.4. Do I need to create a new target in my project?
At times, it may not line up perfectly. To observe this, test it on an iPhone and try swiping your finger back and forth very quickly. When you release your finger, you'll notice it.
@@seanallen I got this working and was then able to adjust it to work vertically using a custom view I made instead of a circle. Thank you. As a side effect it still is passing the gradient colors from the items array which adds a cool design
It looks cool, but SwiftUI is not popular in production. Targets are still below 15, so you dont have that fansy staff, you may do it yourself or die)))
@@seanallen Currently i'm working for a big enterprise, that doesnt take risks) It will take years to change something( We have only one screen made with SwiftUI (I'd made it despite everyone having doubts) So i'm not dismissing it at all)
@@Stricken174it was the same as it was with Swift in the beginning, but slowly SwiftUI will become a thing. Slowly, but surely we are moving towards iOS 16-17 becoming the minimal target version and after that there will be absolutely zero reason not to go to SwiftUI. Currently it is worth trying it even with lower versions. My project is from iOS 14+ and even though I can’t use the shiniest things yet, there is still so much I can use. For everything else I can still create a UIView and throw in some NSLayoutConstraints
I started my (side) project with iOS 17 as target and realized it won’t work on iPhone X and below. But it’s too late now. I’m not going back to Combine!
Learn more in my iOS Developer courses - seanallen.teachable.com
I'm still surprised how easy it is to add such animations in SwiftUI. Thanks for the content, always!
Yeah, you can get some really cool inactions pretty easily. It's great.
Thanks!
I appreciate the generosity, Andrew!
These iOS 17 updates look great!
They sure do!
Great tutorial, Sean, saved the day. And love your teaching style as you explain it well and make it easy to understand.
Thanks for the kind words :)
I love you best of luck in content creation. I hope lots of people find your help.
I appreciate it
Awesome, this is so cool, sometimes I have used scrollviews and I want to put something different at the time of interaction, and this is so cool.
Glad it helped!
🤯
Amazing content as always Sean! Thanks for this!
Glad you enjoyed it!
You are a star Sean, much appreciated
perfect timing for me
Happy to hear it!
I was looking for how to do this exactly, thanks ❤
Happy to help!
Love the Transisions, can't wait to use it.... ❤
Great video! just wondering if there's any way to add a small peek to the next item in the scrolling list?
I believe there is, but not sure the exact code off the top of my head (I'm out an about replying to comments).
Great video! I wanted to know if there is a way to scroll only to the next item in the list? basically meaning that in each scroll you can only scroll one item, similar to TikTok or other similar apps? thanks.
You are the best
:)
how do you make that chart in your app? nice video btw... im new to this heh
Sean, have you done a deep dive into swift data? i’m having some issues now with the model controller.
Trying to get my first app on the App Store. These errors are killing me.
I haven't done a super deep dive. I have my surface level Swift Data video and I'm working on my own Core Data - SwiftData conversion. Give me a few more months and I'll be a lot more comfortable with it.
Do you have somthing simular but for ios 15?
Nah, you would have to custom build that from scratch (not worth it in my opinion).
@@seanallen yeah seams hard to find something. Thanks for you’re reply.
This is awesome. I love your teaching style, and your videos are always on point.
So the big question for me becomes when should I start adopting iOS 17 API changes? Should I just dive in right away now that it's public, or should I wait? What is adoption like a week after release? I don't know how to check these things, but that's OK. I feel like I should assume most iPhone users will upgrade quickly, most likely. It's a little hazier when I want to also publish a Mac Catalyst version, because stuff like SwiftData and these new features won't run on Sonoma, and I don't know if people upgrade their Macs straight away.
Glad you like them! There's not official data out on that yet, but historically yes... iOS users tend to adopt the latest version pretty quickly. Here's the iOS 16 adoption for context - mixpanel.com/trends/#report/ios_16/from_date:-365,report_unit:week,to_date:-27
SwiftData doesn’t work on Sonoma? Really? 😮
This is awesome. However, when I attempt to use it in my project I am getting the error: 'containerRelativeFrame(_:count:span:spacing:alignment:)' is only available in iOS 17.0 or newer.
There's a couple of fix options:
- Add 'if #available' version check
- Add @available attribute to enclosing property
- Add @available attribute to enclosing struct
So does this mean if the running user's device is not on iOS 17 then this feature is essentially not accessible for them? Personally, I want to code 1 thing and not have to incorporate checks to see if they are on iOS 17 and if they aren't then have to code a different feature for those users.
Ahhh - I updated my xCode project so that the Minimum Deployment is iOS 17.
Yes, this feature is only available in iOS 17. So if you need to support iOS 16 or below, you’ll need to use the availability checks you listed above. However, if you can make your app a minimum of iOS 17 then you can use the code in the video.
Note… these new scroll view features in this video are new and only available in iOS 17
That makes total sense. If I am working on an App that I expect to get onto the App Store within the next 6-12 months, do you think making the Minimum Deployment of iOS 17 is fine? Curious if it would negatively impact downloads and what not.
If you aren't going to release for another 6-12 months then I would do a minimum of iOS 17. Because by the time you release iOS 18 will be out (or close to being released) and it's most common to support the latest 2 iOS versions (in your case would be iOS 17 and 18).
Has anybody else gotten this to work? When I try I get 2 errors on line 19 with Sean's code: Cannot infer contextual bas in reference to member 'horizontal' & Value of type 'Circle' has no member 'containerRelativeFrame'... bummer I really wanted to play around with this.
Are you targeting iOS 17 for your project? These new modifiers are only available in iOS 17 and above.
Hey@@seanallen I really appreciate the quick response! The highest version I am able to set the minimum deployment is 16.4. Do I need to create a new target in my project?
You’ll need to be on Xcode 15 I believe.
At times, it may not line up perfectly. To observe this, test it on an iPhone and try swiping your finger back and forth very quickly. When you release your finger, you'll notice it.
Ready to use in your projects by 2025 :D :D
But it will be a great day when you can use it :)
does this work in vertical lists also?
Vertical scroll views, yes. The official List object, I'm not sure.
@@seanallen I got this working and was then able to adjust it to work vertically using a custom view I made instead of a circle. Thank you. As a side effect it still is passing the gradient colors from the items array which adds a cool design
Nice work!
Now most apps build with swif and swiftui instead of uikit ...please slove this quieres
Not sure what you are talking about. This is a SwiftUI tutorial.
@@seanallen i said new apps now buid with Swiftui ....Not use the Uikit
It looks cool, but SwiftUI is not popular in production. Targets are still below 15, so you dont have that fansy staff, you may do it yourself or die)))
The minimum deployment target varies wildly depending on the project. That's not a reason to dismiss SwiftUI in my opinion.
@@seanallen Currently i'm working for a big enterprise, that doesnt take risks) It will take years to change something( We have only one screen made with SwiftUI
(I'd made it despite everyone having doubts) So i'm not dismissing it at all)
@@Stricken174it was the same as it was with Swift in the beginning, but slowly SwiftUI will become a thing. Slowly, but surely we are moving towards iOS 16-17 becoming the minimal target version and after that there will be absolutely zero reason not to go to SwiftUI. Currently it is worth trying it even with lower versions. My project is from iOS 14+ and even though I can’t use the shiniest things yet, there is still so much I can use. For everything else I can still create a UIView and throw in some NSLayoutConstraints
Well said.
I started my (side) project with iOS 17 as target and realized it won’t work on iPhone X and below. But it’s too late now. I’m not going back to Combine!
What's not amazing is that most of us cannot raise the min ios version to 17.
I always look at it as now I can start adding in functionality introduced in iOS 15.
But at least you know what's coming soon...
👋