Xcode Playgrounds - Prototyping UI - Swift

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 พ.ย. 2024

ความคิดเห็น • 89

  • @seanallen
    @seanallen  4 ปีที่แล้ว

    Watch Next - iOS Take Home Project - Job Interview Practice - Free Preview - th-cam.com/video/MSIe2y6Fee8/w-d-xo.html

  • @w0mblemania
    @w0mblemania 6 ปีที่แล้ว +1

    That's a very good point about testing designs against the iPhone 5 this way.
    My practice is to design for the iPhone 5, and adapt upwards for the larger displays. I've found that it's so much harder to design for large phones and then work downwards.
    It also helps us avoid the perennial design mistake of only properly designing for the specific size of the device we own, or are comfortable with.

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      In my opinion, this used to be the way to go. But now that the iPhone 5 size may be phased out, or at the very least is a small % of the user base, I prefer to design for the X form factor, and then adjust down. It's a bit more work, but I prefer to design for the majority, then make tweaks and compromises for the minority. I'd rather have it feel like my app was designed for the X family of iPhones.

  • @艾尼路
    @艾尼路 6 ปีที่แล้ว +1

    The narrating really explains your thought process, thank you

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Glad you liked it, Huqiao 👍

  • @shivaskanthan6144
    @shivaskanthan6144 6 ปีที่แล้ว +1

    Kudos to you! I've been enjoying the new tutorials you are doing. It's a lot different to the tutorials out there.

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Happy to hear you like the new direction, Shiva 👍

  • @toastrecon
    @toastrecon 6 ปีที่แล้ว +1

    This is probably old news to most, and overkill in simple cases, but you can also add external code files to your playground. Let's say that you'd precoded some extensions to UIColor or UIView or whatever, you could put them into the playground and have access to them so you could prototype or experiment with code you'd already done. Just have to add them to the "Sources" folder. Also, "command - zero" brings up the navigator side menu, if anyone wants to use a shortcut.
    Great info, thanks Sean!

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Nice, didn’t know that. Thanks for sharing, David 😀

  • @DesperadoAH
    @DesperadoAH 6 ปีที่แล้ว +1

    This will save a lot of time .. usually I create a new Xcode project to just create and test a UIView subclass but for now I will be using this .. Thank a lot Sean 👍

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Oh wow... this will certainly save you time then.

  • @alexborges3604
    @alexborges3604 6 ปีที่แล้ว +6

    Amazing video, man! As a designer learning swift, it really comes in handy!

    • @seanallen
      @seanallen  6 ปีที่แล้ว +1

      Happy it helped, Alex 👍

  • @MpomartMedia
    @MpomartMedia 6 ปีที่แล้ว +1

    Great content with a smooth delivery style, well done Sean, keep up the great work. Henry

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Thanks Henry!

  • @azerty1971
    @azerty1971 5 ปีที่แล้ว +1

    I follow your tutorials with pleasure all the way from Belgium. You do a great job and excellent documentation Sean !

    • @seanallen
      @seanallen  5 ปีที่แล้ว

      Thanks Bart! Glad you enjoy them 😀

  • @Siniom_swe
    @Siniom_swe 6 ปีที่แล้ว

    I would really love to see a refactoring video of putting this in a subclass etc, as mentioned in 13:33. I haven't found good simple tutorials on how to do that effectively. Would be interesting to see how you do it!
    I would also like to see a video about the "Safe Area Insets", and how to use them , IF you use them, programatically.
    Thanks for the learning

  • @leonidasi8861
    @leonidasi8861 6 ปีที่แล้ว +1

    Jeez dude, keep up the great content. You're helping me a lot and based off the other comments its not just me. Do you plan on writing any books or is your focus mostly on video content?

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Happy to help, Leonidas! I have a lot in the works that I'll be releasing over the next few months. My first book will be out in a couple weeks (although not a terribly technical book), and I have courses planned for early 2019.

  • @k4reemMoustafa
    @k4reemMoustafa 6 ปีที่แล้ว +1

    That was awesome. Never thought of prototyping on Playgrounds. Great video 👍

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Glad you got some value out of the video, Kareem!

  • @Eugene.Berezin
    @Eugene.Berezin 5 ปีที่แล้ว +1

    Awesome video man!
    I love working with the playground.
    And awesome tips on the constrains!

    • @seanallen
      @seanallen  5 ปีที่แล้ว

      Glad it helped, Eugene 😀

  • @gabrielros1
    @gabrielros1 6 ปีที่แล้ว +10

    If you haven't seen that video .... come on. what are you doing ?
    Made me smile :D

    • @seanallen
      @seanallen  6 ปีที่แล้ว +2

      Haha, glad you liked that 😀

  • @stabkauaiPALAMA
    @stabkauaiPALAMA 6 ปีที่แล้ว +2

    Recently Graduated from DevMountain!!!!!

  • @osmanmusse6223
    @osmanmusse6223 6 ปีที่แล้ว +1

    Cool video sean keep the good work up

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Thanks Osman!

  • @rvamerongen
    @rvamerongen 5 ปีที่แล้ว

    Hi, nice video.Most of the time I am doing most tests, trials directly in a project. But as you show here playground is the ground to start with/from. I was thinking about the iPhone/iPad sizes, nice tip b.t.w from you. I would like to create an enum with all the iPhone sizes in there and have that enum in a separated file so that I can 'import' that file into my projects. Then with a chosen enum element with the values ( iDevice name ) and calculate what all other view elements should become. What are your suggestions to add that in a file and how to add that file in a playground project on an iPad?
    Oke, just starting with tuples and enum. I guess it could do some thing like this
    enum iDeviceType {
    case iPhone(String)
    case iPad(String)
    func screenSize(iDevice: iDeviceType)->(Int,Int){
    var myModel: (Int, Int)
    switch self {
    case .iPhone(let model):
    switch model {
    case "XR" : myModel = (width: 365, height: 512)
    case "6" : myModel = (width: 365, height: 512)
    ...
    default: myModel = (width: 365, height: 512)
    }
    case .iPad(let model):
    switch model {
    case "Air1" : myModel = (width: 365, height: 512)
    case "Air 2gen" : myModel = (width: 365, height: 512)
    ...}
    return myModel
    }
    }
    var myModel = iDeviceType.iPhone("XR").screenSize()
    print(myModel)

  • @JasonMitchellAZ
    @JasonMitchellAZ 5 ปีที่แล้ว +1

    I really need to do more of this

    • @seanallen
      @seanallen  5 ปีที่แล้ว

      It's pretty fun and good practice.

  • @karljay7473
    @karljay7473 6 ปีที่แล้ว +1

    How about giving us a rundown on the equipment you use for your podcasts? I've seen a number of people that wanted to do some tutorials and they were wondering what software/hardware to get and how to set things up. I hear that the video stuff comes free with some video games, which one do you use?

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      For my podcasts? I have a Blue Yeti mic and record my audio using QuickTime.

  • @cold8655
    @cold8655 4 ปีที่แล้ว

    Hey just wanting to try something a bit different with this and make the card view animate in from the right side would I need to change the...let ViewBottomAnchorConstraints : NSLayoutConstraints part? and if so what could I change would it be the trailing anchor?

  • @americanyoyo2
    @americanyoyo2 6 ปีที่แล้ว +1

    Your tutorials are Awesome. Have you considered making a course and putting on your website. I think it may work.

    • @seanallen
      @seanallen  6 ปีที่แล้ว +1

      Coming early next year...

  • @w0mblemania
    @w0mblemania 6 ปีที่แล้ว +1

    Another excellent video Sean, thank you.

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Glad you enjoyed it!

  • @JohnDoe-fe3zw
    @JohnDoe-fe3zw 6 ปีที่แล้ว +1

    Love this series, more please

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Glad you like it 👍

  • @emin_ui
    @emin_ui 6 ปีที่แล้ว +1

    Even thought i don't like doing thing programatically, i really loved the video and i believe you are right when you said that we need to know both, no matter what feels better to us.
    It has it's "charms"....doing stuff programmatically, i might dig a bit more :)
    Tnx for sharing!

    • @seanallen
      @seanallen  6 ปีที่แล้ว +1

      Happy it was helpful, Emin. It’s best to know both because sometimes one method is clearly better in certain circumstances.

    • @emin_ui
      @emin_ui 6 ปีที่แล้ว +1

      I already tried your skeletal storyboards as a middle ground and it really makes a difference. Fast/easy and works for both worlds :)

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Nice!

    • @w0mblemania
      @w0mblemania 6 ปีที่แล้ว

      eniN, if there's one piece of advice I could give you it's this: get comfy with programmatic UI. It will help you out enormously over time. Storyboards and nibs have their place, but they also introduce many problems, particularly with navigation and application flow. And reliance on Storyboards can hinder understanding of what is really going on in an iOS app.
      Remember it's not a case of all-or-nothing. You can combine storyboards and code, but knowing how the code works is vital. Cheers.

  • @arianakbari3251
    @arianakbari3251 6 ปีที่แล้ว

    Hello master thank you for video please talk about tableview pagination or load more thank you

  • @brandtarmls3303
    @brandtarmls3303 6 ปีที่แล้ว

    That downloaded file opens in Xcode but not as a Playground?

  • @josemiguelchouriogonzalez6096
    @josemiguelchouriogonzalez6096 6 ปีที่แล้ว +1

    Hi Sean, thanks for the tutorial I always wondered if I could do this, and when I saw the title of the video I was like ok you just got your answer lol. Pretty helpful brodaaaa.

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Happy to help, Jose. Give it a try 👍

  • @LohenYumnam
    @LohenYumnam 6 ปีที่แล้ว +2

    Man Awesome Video. I love this one. to be honest,​ my design process was to create a whole new project just for one ViewController prototype 😂 this is going to change now..

    • @seanallen
      @seanallen  6 ปีที่แล้ว +1

      Happy to hear that, Lohen 😀. Glad you found it useful.

    • @LohenYumnam
      @LohenYumnam 6 ปีที่แล้ว +1

      it's very very useful. Thanks, man hope to see more video like this. And I would love to see the video on refactoring the UI code that you were talking about in this video.

    • @seanallen
      @seanallen  6 ปีที่แล้ว +1

      I may do a part 2 that shows that.

  • @glennmiller394
    @glennmiller394 6 ปีที่แล้ว +1

    Thanks, Sean. Really helpful.

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      God you enjoyed it, Glenn!

  • @gakkieNL
    @gakkieNL 6 ปีที่แล้ว +1

    Another great video! Thanks!

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Thanks Gakkie!

  • @flashdjprm
    @flashdjprm 6 ปีที่แล้ว +3

    Thank you, Sean! Anybody know how to preview my playground prototype on real device (on my iPhone)?

    • @diegoortuondo7530
      @diegoortuondo7530 5 ปีที่แล้ว +1

      Yes, you can use TestFlight, an app for that specific purpose. However, you could also use the build simulators built into Xcode itself...

  • @johnnyl7818
    @johnnyl7818 6 ปีที่แล้ว +1

    Thanks for this amazing video!

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Glad you liked it, Dayday!

  • @Coinsandtokenz
    @Coinsandtokenz 5 ปีที่แล้ว

    DOPE TUT AS ALWAYS.
    HEY SEAN, im in xcode 11 playgroud.. exploring it.. its not allowing me to run my code.. and i dont even have the assistant editor button on mine. do you know how i can fix this? please help if you can, thank you!

  • @AndresSantibanez
    @AndresSantibanez 6 ปีที่แล้ว +2

    Sweet video. Amazing content. 👍

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Thanks Andres. I appreciate the kind words 😀

  • @aliakkawi4759
    @aliakkawi4759 6 ปีที่แล้ว +1

    Amazing tutorial, thanks a lot

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Happy to help, Ali 👍

  • @MrJoeYellow
    @MrJoeYellow 6 ปีที่แล้ว +1

    Great tutorial!!!

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Thanks! Glad you liked it 👍

  • @JacksMacintosh
    @JacksMacintosh 6 ปีที่แล้ว +1

    That logo at the end! Why am I just seeing that now

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      Haha, soft launch. Still tweaking it a bit, but you’ll be seeing a lot more of it soon 😎

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      I know... I slipped up. It's forever the "ex". 😂

  • @girishadapa90
    @girishadapa90 5 ปีที่แล้ว +1

    Hi Sean ... NYC tute

    • @seanallen
      @seanallen  5 ปีที่แล้ว

      Thanks. Glad you liked it!

  • @cameronmonks1561
    @cameronmonks1561 6 ปีที่แล้ว +1

    Nice video. Has anyone ever told you that you looked like Timmy Howard?

    • @seanallen
      @seanallen  6 ปีที่แล้ว +1

      Thanks. I've gotten Bill Burr, Tyson Chandler... but this is the first Tim Howard, lol.

  • @gjermundification
    @gjermundification 6 ปีที่แล้ว

    14:14 on the other hand if you design for the smallest screen the others will follow.

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      In my opinion, this used to be the way to go. But now that the iPhone 5 size may be phased out, or at the very least is a small % of the user base, I prefer to design for the X form factor, and then adjust down. It's a bit more work, but I prefer to not compromise an amazing iPhone X design, just to make it fit for the SE. I would rather do the extra work to tweak the SE, than make sacrifices on the X

    • @gjermundification
      @gjermundification 6 ปีที่แล้ว

      Especially for touch areas.

  • @fadyyecob
    @fadyyecob 6 ปีที่แล้ว +1

    Nice video. I think computed properties (varget shortcut in Xcode) would have been nicer instead of having a separate function for each view.

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      I’m not aware of any performance differences, so this may be just stylistic preference. I’m not a fan of having a ton of UI code in the “variables” section of my file, which is usually at the top. I like that to be minimal. I like to have a list of variables, then my view life cycle functions, and then the rest of the logic. Just my organizational preference.

    • @fadyyecob
      @fadyyecob 6 ปีที่แล้ว +1

      Sean Allen I think it’s the same performance wise. But I personally like to use computer properties when possible so I don’t need a separate function that can get lost in a large view controller file.

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      I see what your saying. I do by best to keep my ViewController to around 200 lines of code, so things don’t get lost for me too often. But again, all this is stylistic preference.

  • @bhargavkumar
    @bhargavkumar 6 ปีที่แล้ว +1

    How can i make money with ios development part time....?

    • @seanallen
      @seanallen  6 ปีที่แล้ว

      It’s tough, because more often than not, people are looking to hire full-time...but some development agencies will hire part time devs to help out. Or you could build your own app on the side.

    • @simrandotdev
      @simrandotdev 6 ปีที่แล้ว

      Start bidding for projects on Freelance or Upwork or Fiver. Initially you would have to bid low as you do not have reviews and portfolio. Once you get few projects done and get good reviews that you can start charging a little more. But it's a tough market specially with many small shitty indian companies bidding at very low prices to get the project.