SwiftUI List with Custom Cell & Passing Data

  Рет қаралды 119,399

Sean Allen

Sean Allen

Күн бұрын

Пікірлер: 186
@seanallen
@seanallen 3 жыл бұрын
If you enjoy my teaching/presentation style, I've started creating my own iOS developer courses at seanallen.teachable.com. You can watch the first ~10% of each one for free to get a feel for them.
@noamif
@noamif 3 жыл бұрын
These swiftUI tutorials are FIRE ☄️
@seanallen
@seanallen 3 жыл бұрын
Glad you enjoy them, Noam!
@tibettenballs4962
@tibettenballs4962 2 жыл бұрын
@@seanallen i enjoy them more tho..
@RevanthMatha
@RevanthMatha 2 жыл бұрын
Another commenter posted "Don't know if this is only my problem, but I needed to add the line .listStyle(.plain) after the List and embed the Image and VStack in a HStack. Otherwise, it looks a bit messy." I had the same issue and the above fixed it for me. So verified :)
@bi0hazardd144
@bi0hazardd144 Жыл бұрын
had exact same issues, really helped thanks
@karljay7473
@karljay7473 3 жыл бұрын
@9:40 if your version doesn't have the Text views to the right of the Image view, then wrap the Image view and VStack in an HStack. Seems Sean is using a different version, I'm on Xcode 13 Beta 5 and the Text views were below the Image view. Wrapping them in an HStack, solved the problem. Seems the older version had an implied HStack.
@aa.fordays
@aa.fordays 3 жыл бұрын
I came looking for this exact comment! You're a legend!
@whoshothamilton
@whoshothamilton 3 жыл бұрын
I notice that this version of Xcode/iOS 15 aren't pushing the lists to the edge of the screen anymore. Is there any way to correct this and make it full width?
@tmaharisoa
@tmaharisoa Жыл бұрын
You are so gifted Sean! what a blessing to watch your content!
@seanallen
@seanallen Жыл бұрын
Wow, thank you!
@clayfulgham21
@clayfulgham21 11 ай бұрын
This is easily the best video I've found discussing SwiftUI data passing...THANK YOU
@seanallen
@seanallen 11 ай бұрын
Wow, thank you. Glad you enjoyed it.
@janszalasny4830
@janszalasny4830 6 ай бұрын
Sean, I spent like a whole Saturday trying to achieve exactly such an effect, last 6 minutes of your video helped with that, thank you so much!!!
@seanallen
@seanallen 6 ай бұрын
Glad it helped!
@karhoshe
@karhoshe 3 жыл бұрын
WoW, can't believe SwiftUI can build this so easily. Thanks for the tutorial, learn so much from it.👍🏻
@seanallen
@seanallen 3 жыл бұрын
Happy to hep, Karho 👍
@rahmansajid4280
@rahmansajid4280 3 жыл бұрын
This is the first time watching your tutorials - after watching few minutes and how you explain everything - subscribed your channel immediately.
@seanallen
@seanallen 3 жыл бұрын
Glad you enjoy my teaching style, Rahman!
@TheSpiralnotizblock
@TheSpiralnotizblock 3 жыл бұрын
Don't know if this is only my problem, but I needed to add the line .listStyle(.plain) after the List and embed the Image and VStack in a HStack. Otherwise, it looks a bit messy.
@artak9439
@artak9439 Жыл бұрын
In 32:50 he puts all in HStack
@TheAlpha6echo
@TheAlpha6echo Жыл бұрын
This helped me. thank you
@KrastyoKrastev
@KrastyoKrastev 3 жыл бұрын
I like your style of teaching! It is great!
@seanallen
@seanallen 3 жыл бұрын
Happy to hear that, Krastyo!
@souldock
@souldock Жыл бұрын
You've got me. Now I have to watch all of your vids :)
@seanallen
@seanallen Жыл бұрын
Enjoy 😀
@GeeElle
@GeeElle 3 жыл бұрын
Great clean presentation again, Sean! Good stuff!
@seanallen
@seanallen 3 жыл бұрын
Glad you liked it, Gee!
@AZMerf
@AZMerf 3 жыл бұрын
You are just so good. I was just wondering at 21:00 how you remember all these different modifiers and you literally just answered the question. Good to hear there isn’t any real magic to it other than experience.
@KimbrellBrad
@KimbrellBrad 3 жыл бұрын
As always, great content Sean! You have definitely been one of about 5-6 KZbinrs that have helped me become a "real developer" in Swift. Still lots to learn, but starting to realize that I know so much more than I did when I started last July. But I love your teaching style so much that I will definitely be a customer for your new course coming out next week! One tip..when you are extracting that Subview you can rename it right there rather than going back and doing so. It's easy to forget...I do it all the time...but easy to see someone else doing it LOL! (I know you are focused on delivering the best explanation while recording! I don't have that excuse...)
@AbbeyOnAtkins
@AbbeyOnAtkins 3 жыл бұрын
“That can lead to clever & confusing code. You still want it to be readable” yes. Thank you!
@martinmaulhardt9852
@martinmaulhardt9852 3 жыл бұрын
Already said this in other video but again, you are the master of iOS programming Sean. Thanks for the tutorial!
@seanallen
@seanallen 3 жыл бұрын
Thanks for the kind words, Martin.
@umerfarooq3121
@umerfarooq3121 3 жыл бұрын
Seriously bro your tutorial force me to subscribe. You explained every single line step by step. Love you content. Want to see more. Thank you ;)
@seanallen
@seanallen 3 жыл бұрын
Happy to hear you appreciate my teaching style and I appreciate the subscribe 👍
@krishk550
@krishk550 9 ай бұрын
You made it so easy sean! Thank you so much for your content. 🎉
@mountainsmusicandcode
@mountainsmusicandcode 3 жыл бұрын
As always, so good Sean. I often come back to your videos and rewatch them before building out a particular feature. Super clear and concise with some great tips. Much better than wading through my own ill written notes on the subject ;-) Thank you!
@seanallen
@seanallen 3 жыл бұрын
Thanks for the kind words, Robin. I always recommend repeat viewing of content. At least in my experience, going through a tutorial, blog post, or video only once isn't quite enough for the concepts to sink in. I usually have to go through the content, try to implement it myself, then rewatch the content for it to really sink in.
@Darknessfell92
@Darknessfell92 Жыл бұрын
in 9:51 when I clicked on embed in list, the text moved under the thumbnail, I did everything step by step with but got this result, can you please tell me what have I missed?
@abdoulayefall9278
@abdoulayefall9278 Жыл бұрын
add the line .listStyle(.plain) after the List and embed the Image and VStack in a HStack. (taken from another comment)
@FlyingBanana43
@FlyingBanana43 Жыл бұрын
This is just what I’ve been looking for, code worked great, however I needed to add in a HStack below the list otherwise it would just create two list entries per item
@jamesvanderbilt201
@jamesvanderbilt201 Жыл бұрын
thanks for posting this..i was wondering why mine looked different.
@renatomauro6300
@renatomauro6300 3 жыл бұрын
Without doubt, the best Swift tutorial!! Congrats!
@johnzender533
@johnzender533 11 ай бұрын
your videos are amazing! I'm a beginner and learning quickly thanks to your content! Thank you!
@seanallen
@seanallen 11 ай бұрын
Happy to hear that!
@christoskatsenos13
@christoskatsenos13 3 жыл бұрын
Great video! Thank you for this detailed explanation. I am always looking forward for your videos.
@seanallen
@seanallen 3 жыл бұрын
Glad you enjoy them, Christos!
@Mikey19846
@Mikey19846 3 жыл бұрын
I really like the way you refactor your code. It looks really tidy. thank you for the tutorial.
@seanallen
@seanallen 3 жыл бұрын
Thanks for the compliment Michael. Code readability and organization is a big deal to me. Happy you noticed!
@johannespettersen
@johannespettersen 2 жыл бұрын
I finally learned coding because of you, THANK YOU!!🎉
@seanallen
@seanallen 2 жыл бұрын
That's awesome! Happy to hear that and best of luck on your coding journey, Johannes 🚀
@johannespettersen
@johannespettersen 2 жыл бұрын
Thank you!!😁
@Omeir34
@Omeir34 3 жыл бұрын
Always excited to see your videos, Sean!
@seanallen
@seanallen 3 жыл бұрын
Glad you like them!
@iBroi
@iBroi 2 жыл бұрын
Very informative, educational, learning by your learning skills, way is outstanding, explaination is nowhere to find, thanks, please keep it up with progress, all best!
@seanallen
@seanallen 2 жыл бұрын
Thanks for the kind words, Ibrahim. Glad you enjoyed it!
@kavinda_dilshan_paramsoodi
@kavinda_dilshan_paramsoodi 3 жыл бұрын
Bro, When I'm watching your videos, it makes me feel you're like a neighbor next door where I want to go and spend time and start my first startup with...
@GidzPaul
@GidzPaul 3 жыл бұрын
Coming from an Android world, I loved this tutorial!
@applefarm3740
@applefarm3740 3 жыл бұрын
Thanks for making these AMAZING SwiftUI tutorials. It's really easy to understand and just open Xcode and follow you and increase my skills.
@seanallen
@seanallen 3 жыл бұрын
Happy to hear you enjoy them, Ernest. More on the way!
@judy8821
@judy8821 3 жыл бұрын
Wonderful clear explanation. Never knew about Link. Very easy to follow your videos.
@seanallen
@seanallen 3 жыл бұрын
Glad you enjoy them, Judy 😀. Link was just added in iOS 14.
@andrevdw747
@andrevdw747 3 жыл бұрын
Thanks Sean, very helpful. By the way moving a block or line, you can also use cmd-option [ or ] for up and down.
@Vlad-fv6yq
@Vlad-fv6yq 10 ай бұрын
Thank you so much. You explain perfectly. Definitely love your manner 😊
@seanallen
@seanallen 10 ай бұрын
Glad you appreciate my teaching style!
@razrbhr8888
@razrbhr8888 3 жыл бұрын
Really enjoyed it followed the entire tutorial and worked awesome thank you again for your great content
@seanallen
@seanallen 3 жыл бұрын
Glad to hear you enjoyed it, Kemley.
@Lowlightapp
@Lowlightapp Жыл бұрын
Definitely earned my sub. Awesome video man.
@seanallen
@seanallen Жыл бұрын
Happy to help, Nate.
@odduser1634
@odduser1634 Жыл бұрын
Amazing content, learned multiple concepts all in one video.
@Dygear
@Dygear 3 жыл бұрын
This convinced me. I'm going to get your teachable courses.
@seanallen
@seanallen 3 жыл бұрын
Happy to answer any questions about the courses if you have any. Hope you enjoy 🚀
@Dygear
@Dygear 3 жыл бұрын
@@seanallen None right now but I appreciate it. Wanted to let you know the skills I learn in that will immediately go into an app that will be dispatching emergency service vehicles to assignments (Ambulances & Helicopters). I run a company that builds dispatching software (mostly written in rust) and this is intended to be the Mobile Data Terminal front end for that.
@seanallen
@seanallen 3 жыл бұрын
Awesome. Would love to check out the finished product when the time comes.
@osmanresatdogrul1244
@osmanresatdogrul1244 3 жыл бұрын
Besides being a tutorial it is really helpful to choose topics that can adapt to your own application, thank you very much.
@joeallen6x
@joeallen6x 10 ай бұрын
Does this work the same with Navigation Stack???
@evennorthug2585
@evennorthug2585 Жыл бұрын
Highly relevant. Well paced. Keep I up!
@chandlerzuck6396
@chandlerzuck6396 3 жыл бұрын
This is one of the best SwiftUI walk-throughs I’ve ever seen. This was so so so helpful. If possible, could you do a follow up video discussing an API data binding?? Like through Airtable?
@seungwanwee2107
@seungwanwee2107 3 жыл бұрын
Thanks a lot, was able to modify this project and use it for my school project :)
@seanallen
@seanallen 3 жыл бұрын
happy to help, Seungwan!
@Wiintb
@Wiintb 2 жыл бұрын
You are a good instructor.
@seanallen
@seanallen 2 жыл бұрын
Thanks for the kind words :)
@Wiintb
@Wiintb 2 жыл бұрын
I wanted to get your bundle. 26 years, CTO. Started as a assembler OS programmer. Want to learn iOS for fun. Do you do any QnA for the purchases? DM or mails? Thank you
@seanallen
@seanallen 2 жыл бұрын
Happy to answer any questions you have about the courses! You can DM me on twitter @seanallen_dev or you can find my email in the About section of my KZbin channel.
@enot5575
@enot5575 3 жыл бұрын
Wow! This tutorial is super easy! Thanx a lot!
@daftstuff6406
@daftstuff6406 2 жыл бұрын
Thank you , Sean. Really nice presentation for a beginner SwiftUI coder. Great help.
@gamebazar6453
@gamebazar6453 10 ай бұрын
Omg this is the best tutorial rly, thanks!
@seanallen
@seanallen 10 ай бұрын
Glad it helped!
@sureshkutagulla4526
@sureshkutagulla4526 3 жыл бұрын
Nice Explanation, Clear understand Thanks Sean Allen
@edgargranados-perez9889
@edgargranados-perez9889 3 жыл бұрын
Who else gets excited for the refactoring bc I sure as hell do! Also the swift are the shit!!!!
@zb1123
@zb1123 3 жыл бұрын
Great video - thanks a lot Sean! Perfect timing, just been tasked with creating a Widget for our app w/ WidgetKit and that's all in SwiftUI, shall include a little List in it too! Cheers:D
@seanallen
@seanallen 3 жыл бұрын
Nice. I have some widget videos on my to-do list. I'm waiting till after WWDC to see if they introduce anything new to widgets.
@zb1123
@zb1123 3 жыл бұрын
@@seanallen Awesome - shall keep a close eye out for those then!
@ajmalrasheed9113
@ajmalrasheed9113 3 жыл бұрын
Thankyou Sean, It was very detailed explanation.
@birdman4274
@birdman4274 3 жыл бұрын
Brilliant video Sean. SwiftUI is much easier than Storyboard and UIKit. Big thumbs up 👍
@Hamza_Boukhatem
@Hamza_Boukhatem 3 ай бұрын
from Algeria. bro you are just awesome great Jobe
@aliDevJourney
@aliDevJourney 2 жыл бұрын
What a beneficial video, thanks Sean!
@seanallen
@seanallen 2 жыл бұрын
Glad you enjoyed it!
@GrizzoWalsh
@GrizzoWalsh 3 жыл бұрын
Man, this was a GREAT tutorial and I appreciate it. Would love to see one to create an sign-able invoice.
@tylerstevensx
@tylerstevensx 2 жыл бұрын
Appreciate your videos brotha 🤙
@bitsurfer0101
@bitsurfer0101 3 жыл бұрын
If you wanted the text in the VideoListView to line with the top and bottom of the image, would you just add a spacer in between the two in the VStack?
@humancyyborg
@humancyyborg 3 жыл бұрын
Thanks for the tutorial. This was super helpful
@Hush4Me1
@Hush4Me1 3 жыл бұрын
Is there a way to remove the cell indicator and separator lines?
@vamsi3877
@vamsi3877 3 жыл бұрын
Great explanation 👏
@seanallen
@seanallen 3 жыл бұрын
Thanks Vamsi!
@ekkogaming5461
@ekkogaming5461 3 жыл бұрын
Thanks for the tutorial, really useful.
@seanallen
@seanallen 3 жыл бұрын
Happy to help!
@AndyJMacLeod
@AndyJMacLeod 2 жыл бұрын
Very helpful video, thanks!
@chrispy104k
@chrispy104k 3 жыл бұрын
Nice and neat Sean. Thanks man.
@BlackThreadDev
@BlackThreadDev 3 жыл бұрын
Great job. Thanks!
@melvenko
@melvenko 3 жыл бұрын
Thanks for this Sean
@seanallen
@seanallen 3 жыл бұрын
No problem, Melven. More to come!
@TheSukhreetSingh
@TheSukhreetSingh 2 жыл бұрын
At around 17 min, there's no HStack in the List. The List have "Image + VStack (Text + Text)"; How is the Cell UI aligned properly. I have the same code but its showing my Image is on top and both the Texts below the image.
@RevanthMatha
@RevanthMatha 2 жыл бұрын
same, not sure how to fix it.
@RevanthMatha
@RevanthMatha 2 жыл бұрын
another comment was left here that said "Don't know if this is only my problem, but I needed to add the line .listStyle(.plain) after the List and embed the Image and VStack in a HStack. Otherwise, it looks a bit messy." I verified it works.
@tiojoe_
@tiojoe_ 3 жыл бұрын
Awesome tutorial! Well done
@seanallen
@seanallen 3 жыл бұрын
Thanks, Pose!
@MegaSalv0
@MegaSalv0 3 жыл бұрын
Great video as always! SwiftUI works like magic until it doesn't... As soon as one wants to do some customization, it seems it lacks the necessary tools... SwiftUI is for sure the future of iOS development, but it is not the present. Compared to UIKit, it looks a bit more than a toy. Easy and fun to use, but for serious stuff, the good old UIKit is still on top. Regardless, keep up with the great work!
@seanallen
@seanallen 3 жыл бұрын
Agreed... it's still early. Hopefully we get a nice upgrade in a couple weeks at WWDC. But it's clearly the future and I'm excited for it.
@abdouett3676
@abdouett3676 3 жыл бұрын
Thank you for this awesome work!
@seanallen
@seanallen 3 жыл бұрын
Glad you enjoyed it 👍
@bhavithagottimukkula2859
@bhavithagottimukkula2859 2 жыл бұрын
How to change the list row background color when selected and persist the state of the list row when user logout and login
@christiansimbarashe
@christiansimbarashe 3 жыл бұрын
always so helpful. Thank you
@rianskischipanski3951
@rianskischipanski3951 3 ай бұрын
whats the difference between scaledToFit and aspectRatio(contentMode: .fit)?
@Adventurevictoria
@Adventurevictoria 2 жыл бұрын
just wondering are there any performance issues for the Navigation link under the List? you know that all the resources under the navigation link will be initiated right away .
@jimfinlaw2519
@jimfinlaw2519 2 жыл бұрын
Hi Sean, This works great, Just want to adapt this app so constraints look full on ipad version. Can you route me to tutorial on how to do that?
@GoeHybrid
@GoeHybrid 3 жыл бұрын
Now how do you pull to refresh that list?
@hiroshihorie392
@hiroshihorie392 3 жыл бұрын
love this content! thanks!
@nileshjdarji
@nileshjdarji 3 жыл бұрын
Is there a modifier to NOT have large navigation title?
@seanallen
@seanallen 3 жыл бұрын
You can add a parameter to that modifier called .displayMode = .inline to go back to the old, non-large style.
@nileshjdarji
@nileshjdarji 3 жыл бұрын
@@seanallen Oh ya. I remember. You did mentioned this in one of your SwiftUI navigation videos. Thank you Sean.
@bronwynpotgieter7405
@bronwynpotgieter7405 2 жыл бұрын
When you place the link in, should it be in a sting? If I'm not passing it in through data that I already have? In my case, I just want a button that goes to a gitHub repo
@bitsurfer0101
@bitsurfer0101 3 жыл бұрын
How could you make the image that you're showing a placeholder image until the user selects an image from the Photo Library?
@10-minutemathtutor37
@10-minutemathtutor37 2 жыл бұрын
Thanks a lot for the great tutorial. I made a list like this and am struggling to add a search function to it. I have been trying to use “searchable”. Any tips?
@zhenniu2451
@zhenniu2451 2 жыл бұрын
mismatch between the code and ui? how is it's laying out the hstack when you have no container for hstack?
@georgehabib4333
@georgehabib4333 2 жыл бұрын
Excellent tutorial - Thanks Sean. Quick newbie question - is there a way to switch to another view (say "VideoDetailView") through the action of a button press?
@VRVitaly
@VRVitaly Жыл бұрын
Great video. very helpful!
@seanallen
@seanallen Жыл бұрын
Glad it was helpful!
@samha1513
@samha1513 3 жыл бұрын
Love your vids
@seanallen
@seanallen 3 жыл бұрын
Thanks Sam 😀
@mavinsao9919
@mavinsao9919 3 жыл бұрын
I really really like your video.
@Denzilkwabi
@Denzilkwabi 2 жыл бұрын
Amazing video! I was wondering in your video list.. is it possible to have Videos with different "let"'s? Ie one video will not have a title and another will.. hope I am making sense?
@elmcapp6032
@elmcapp6032 2 жыл бұрын
Great video. Could you do an update video showing how to do this from an api call instead of json file
@DavidNitzscheBell
@DavidNitzscheBell 3 жыл бұрын
This is such a great video! Thank you so much!!! One little comment....24:15 you could just put the font and foregroundColor on the HStack, right? instead of repeating?
@seanallen
@seanallen 3 жыл бұрын
Yup. This would be an optimization.
@nigelgee3576
@nigelgee3576 3 жыл бұрын
Nice one. Just a couple In the VideoDetailView I would of put the two modifiers on the HStack. And in the VideoCell do not need the HStack as the View is in the list (unless you put in its own file with a Preview which you could put An HStack in that)
@TygruletZ
@TygruletZ 3 жыл бұрын
Amazing tutorial ! So less code compared with UIKit ! The only problem is when I rotate the device and I try to click on another cell...will stop working. Do you guys know what can be the fix for this issue ? Because will be very helpful for everybody.
@dumbobg
@dumbobg 3 жыл бұрын
Hi Sean, just starting out with SwiftUI and I find your videos EXTREMELY helpful! Thanks very much for this! One question: How do I add a color to my data? I'd like to include a custom color to each item on my list. Edit: Nevermind, figured it out :)
@jamesvanderbilt201
@jamesvanderbilt201 Жыл бұрын
Please do a tutorial on how to import an existing project, because nothing I do is working. I receive the error “failed to build the scheme …”
@gabrielrml
@gabrielrml 2 жыл бұрын
Sean, this is clear, uncomplicated and great, thank you. Can I ask? Is there any chance you could amend this lesson by showing how you would put a searchbar in the solution too?
@chezchezchezchez
@chezchezchezchez Жыл бұрын
Hello! Did you happen to find out? I’d like to know also, thank you!
@crafter89
@crafter89 2 жыл бұрын
Can the emulator run a whole iOS Operating system? I'm asking because you werde able to switch to safari.
@w0mblemania
@w0mblemania 3 жыл бұрын
Sean, I'm sure it's been asked before, but how are you doing those super-classy iPhone mockup animations/videos? Are you using rotato.app?
@seanallen
@seanallen 3 жыл бұрын
Yup. That’s exactly it.
@w0mblemania
@w0mblemania 3 жыл бұрын
@@seanallen Cheers.
@TarunReddy_RM
@TarunReddy_RM 2 жыл бұрын
Great video as always. I was wondering how you would structure the data in firebase if you want to be able to send users friend requests and only if they accept, they are then added to the follower list? Thank you!
@StuartZiane
@StuartZiane 3 жыл бұрын
Hi Sean, thanks very much for this great tutorial. In my app as I'm following along, the background is grey, with the list having cells with white backgrounds. How can I make the entire screen have a white background (in light mode)? I seem to be having a lot of trouble finding a way to do this. Thanks very much!
@seanallen
@seanallen 3 жыл бұрын
You can add a the .listStyle modifier onto the List and give it a style of .plain (in iOS 15).
@StuartZiane
@StuartZiane 3 жыл бұрын
@@seanallen Excellent! Thank you!
@nileshjdarji
@nileshjdarji 3 жыл бұрын
Is List in SwiftUI same as TableView in UIKit? Sorry I have bought your SwiftUI course but haven't started yet due to illness.
@seanallen
@seanallen 3 жыл бұрын
Yes, List in SwiftUI is a TableView
@Prabhashana
@Prabhashana 2 жыл бұрын
my simulator show backbutton when I add navigation view
SwiftUI - Intro to MVVM | Example Refactor | Model View ViewModel
11:55
NavigationStack - SwiftUI Programmatic Navigation - iOS 16
20:20
Chain Game Strong ⛓️
00:21
Anwar Jibawi
Рет қаралды 41 МЛН
СИНИЙ ИНЕЙ УЖЕ ВЫШЕЛ!❄️
01:01
DO$HIK
Рет қаралды 3,3 МЛН
How to Get User Location on a Map - Swift
26:11
Sean Allen
Рет қаралды 66 М.
Table in SwiftUI
14:40
SwiftBook
Рет қаралды 1,9 М.
Lesson 1: Project Set Up - SwiftUI To Do List
17:58
iOS Academy
Рет қаралды 43 М.
I Made an iOS App in MINUTES with This AI Tool!
13:20
Creator Magic
Рет қаралды 679 М.
We made MKBHD's Dream Phone
6:20
Nothing
Рет қаралды 2,2 МЛН
DIY Home Security - ON A BUDGET!
9:12
DIY Perks
Рет қаралды 5 МЛН
SwiftData Basics in 15 minutes
15:18
CodeWithChris
Рет қаралды 55 М.
Play: The Secret Weapon for iOS Devs & Designers
10:12
Sean Allen
Рет қаралды 40 М.