Fun Animations with CGAffineTransform (Scale, Rotate, Reposition) Tutorial (iOS, Xcode 8, Swift 3)

Поделиться
HTML-код
  • Опубликовано: 4 ноя 2024

Комментарии • 202

  • @andreasorelarssen5688
    @andreasorelarssen5688 7 лет назад +2

    How did you do the initial navigationbar animation when the new view is pushed? Great tutorial :)

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад +2

      Hi Andreas, good question!
      It's actually controlled on the previous viewcontroller, the intro screen. I didn't want the navigation bar showing on the intro screen so I used this code:
      override func viewWillAppear(_ animated: Bool) {
      super.viewWillAppear(animated)
      navigationController?.setNavigationBarHidden(true, animated: false)
      }
      override func viewDidDisappear(_ animated: Bool) {
      super.viewDidDisappear(animated)
      navigationController?.setNavigationBarHidden(false, animated: animated)
      }
      Then when you leave the intro viewcontroller, *viewDidDisappear* gets run and it animates the showing of the navigation bar on the second view.
      Hope this helps!
      Mark

    • @andreasorelarssen5688
      @andreasorelarssen5688 7 лет назад +1

      Thanks Mark!

  • @nymakerable
    @nymakerable 7 лет назад

    Thank you..!! Four days of not being able to animate a view and your tutorial solved it..!! Thanks, Mark, for these very accessible videos. You're a terrific teacher.

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      Wow that's awesome! Glad I could help! I have a lot of animation videos. One of my favorite subjects!

  • @zaharianicolae9828
    @zaharianicolae9828 7 лет назад +3

    In a nutshell, your videos offer WAAAAY more than the title says. It is filled with useful tips and tricks , and that's why i love your videos. Keep it up man.

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад +1

      +Zaharia Nicolae, ha ha, thanks. :)

  • @suryanarayanbarik5366
    @suryanarayanbarik5366 7 лет назад +1

    Mark , since last 2 years am in iOS dev . This is first time am commenting in any video. You just superb. Your explanation is so clear . :)

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      Well thank you, Suryanarayan! Thank you for your awesome feedback! :D

  • @joeemenaker
    @joeemenaker 6 лет назад +3

    Actually, "identity" is probably the most-apropos term (in fact, it was the word that I expected to see you type before you even typed it). In mathematics, an "identity" value for an operation is something which doesn't change another value when you perform that operation with it. For example, 0 is the "additive identity" because any number you perform "+ 0" on leaves the number unchanged. Likewise, 1 is the "multiplicative identity" because anything you perform "* 1" on leaves the number unchanged. A "transform identity" would be the value (or structure) which, when you apply a transform with it, would leave the coordinate/shape/image unchanged.

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад

      Joe, thanks for clearing that up for me! Man, I struggled with this trying to figure out why they used this term and now I finally know! I appreciate you taking the time to write up this explanation.

  • @Sam-qw3rd
    @Sam-qw3rd 4 года назад +1

    Thanks brother

  • @MrMm2004
    @MrMm2004 6 лет назад +1

    Great tutorial Mark! This is the first explanation of why the underscore is in the function parameters! Your videos are brilliant! THANKS!

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад

      Thanks, Marcus. Sometimes I wonder if I explain too much but I'm glad you like it! 😄

  • @nahalem007
    @nahalem007 7 лет назад

    One of the best iOS tutorial channels on RUclips. Thanks for your work!

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      Thank you! I appreciate you watching!

  • @meerasayabu3823
    @meerasayabu3823 7 лет назад +1

    You are such an awesome tutor. No one can teach this much of clarity and explanation. especially explaining concepts using additional videos. thanks. Could you please provide tutorial for "OPERATION QUEUE" and "CORE DATA with RELATIONSHIP"?

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад +1

      Thanks for the kind words, Meera!

  • @connectSanjayMali
    @connectSanjayMali 7 лет назад

    Great Work Mark Moeykens. Keep Posting the Custom UI Component

  • @cinquain0
    @cinquain0 6 лет назад +1

    Mark makes animation look easy!

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад

      Yeah man, I love making things easy! It's like a game for me. Just how easy can I make it and teach it.

  • @nwigberimoses5837
    @nwigberimoses5837 4 года назад

    I love your tutorials Mark. Really fun and informative

  • @WeiJTseng
    @WeiJTseng 7 лет назад +1

    Great explanation of 'CGAffineTransform'. Thank you.

  • @stevensuranie5123
    @stevensuranie5123 7 лет назад +1

    One of the best tutorials I've seen.

  • @leo-rq2ei
    @leo-rq2ei 7 лет назад +4

    this is easy one of the most useful tutorials i've watched in a while Thank you!

  • @jiansu
    @jiansu 7 лет назад +11

    keep making those video, u r so talented

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      Thanks Jian, I appreciate the compliment!

  • @evertongrant2814
    @evertongrant2814 4 года назад +1

    The radians routine will only work on degrees of 180 because of the formula written as (degrees * .pi / degrees) instead of degrees * .pi / 180)

    • @bigmtnstudio
      @bigmtnstudio  4 года назад

      Ha ha, yeah, I had realized that later on. A few other good developers pointed that out to me too. 😃

  • @DewTime
    @DewTime 6 лет назад +1

    Man this video is sick. I love it! Cant believe I've been procrastinating learning animations when it's that easy.

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад +1

      Oh I'm glad you like it. I have a few videos on animation.

  • @joeemenaker
    @joeemenaker 5 лет назад +2

    At 27m40s, the reason the button always rotates clockwise is this: when CGTransform decides which way to rotate the image, it looks at which direction requires the least amount of rotation and turns that way. In _this_ case, however, the destination rotation is _exactly_ half of the circle, so it just defaults to clockwise. If you had made it even a _little_ less rotation to go back to 0 by going counter-clockwise (by specifying a rotation of, say, 179.9999 degrees), it would have gone that way. Likewise, if you had specified something even a smidge _more_ than 180 (like 180.0001), then the button would rotate counter-clockwise to get _to_ it and counter-clockwise to turn back to 0 from it.

    • @bigmtnstudio
      @bigmtnstudio  5 лет назад

      Yes! I had found out the same thing later on. But again, I love that you take the time to comment because this helps others who watch and want to know as well. You have the best comments, Joe! I love this community! ❤️ ✊🏼

  • @mohammadtahir7931
    @mohammadtahir7931 7 лет назад +1

    extra ordinary talent you have and all tutorials more powerful knowledge.. thanks a lot sir

  • @abishdangol7424
    @abishdangol7424 7 лет назад +1

    Man You are a life savior. Your video helped me indirectly. :) Subscribed

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      Ha ha, that's awesome! Glad I can save lives. :D

  • @fpbrazz
    @fpbrazz 7 лет назад +1

    Awesome tutorial! I know how hard it can be to keep uploading videos to youtube but, thanks for doing that!

  • @ufsubtitles
    @ufsubtitles 6 лет назад +2

    Hi Mark, thanks for another great tutorial. I would just like to point out one thing regarding the share buttons. In stead of giving them all an outlet. You could add them to an outlet collection. Than you could do something like this: shareButtons.forEach { $0.alpha = 0 } in stead of having to set the alpha values individually. Keep up the great work!

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад +1

      That is an excellent idea! Awesome tip, thanks!

  • @albertlu8407
    @albertlu8407 7 лет назад +1

    Thank you so much for doing the animation series!
    It's really amazing! I can't wait for the other videos :D

  • @developerios6096
    @developerios6096 7 лет назад

    You gained a new subscriber =) nice way to use views'transform. Thanks for the vid, hope to see many others!

  • @appsbuff1736
    @appsbuff1736 4 года назад

    Great Tutorial... explained and implemented CGAffineTransform in very easy and understandable way. Appreciate if you can make a tutorial to show the flip/folding animation i.e. flip/folding a Uiview and open it like invitaion card. (like Ramotion have on Dribble) Looking forward to your tutorial. Thanks..!!

  • @lilianamm30
    @lilianamm30 7 лет назад +1

    Really helpful and very well explained! Thank u!!

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      +liliana martinez montiel, you are welcome!

  • @bhawnabajaj2978
    @bhawnabajaj2978 6 лет назад

    Hello Mark ,
    Can we show this demo with multiple images horizontally..

  • @kaisouasli6019
    @kaisouasli6019 6 лет назад +1

    An other ultimate X tutorial!

  • @joeemenaker
    @joeemenaker 5 лет назад +1

    OK... last comment about this. When you set the constraints for Menu View to hang off the bottom of the main view, it looks like you just kinda eye-balled it. I was experimenting to see if there's a better way to do it, and I discovered that it's possible to make two constraints which will vertically center the Menu Toggle button. First, just set a constraint for a fixed spacing between the top of Menu Toggle and Menu View. Then, (here's the neat part) set a constraint for the same spacing between the bottom of the Menu Toggle button and the bottom of the main view. This pulls the button to a fixed point above the bottom and, then, pulls the Menu View to a fixed point above the button.

    • @bigmtnstudio
      @bigmtnstudio  5 лет назад

      Yeah, that makes sense, so we have a vertical constraints going all the way up. I should open this project up and take a look at it again to see what I had done! 😃

  • @tarasuzy00
    @tarasuzy00 7 лет назад

    The animation of close the menu seems a little different from the demo one.
    Everything is explained well. Thanks.

  • @Tenly2009
    @Tenly2009 5 лет назад

    Just curious about something... when you have an image inside a view (but extending outside the top of the view), and the view ‘clipsToBounds’, what size do you get for the image if you check it’s bounds? Do you get the clipped height, or the full height including the non-visible area?

  • @rutchjohnson
    @rutchjohnson 7 лет назад

    Hey Mark, got any tips for rotation code that extended past 360 degrees? Think of the spinning top in the board game life. I'm trying to simulate that in my game.

  • @ankitjaiswal2273
    @ankitjaiswal2273 6 лет назад +1

    Loads of respect and love from India Mark.. thanks alot :)

  • @mosaicfox2637
    @mosaicfox2637 6 лет назад

    Great video! How do you dismiss the whole menuview when we've clicked on a navigation bar button presenting another view controller? Because when i clicked on the navigation bar button, it doesn't dismiss away.

  • @samwd5039
    @samwd5039 6 лет назад

    Hi, i really like your tutorials. I know Android has something called Materialize where they have alot of built in components and even sidemenu like google playerstore menu.
    Do iOS has anything like that? i know noticed you mentioned something about the Human interface guidelines. Can you please go through that HIG in your video?

  • @aaronxin7732
    @aaronxin7732 7 лет назад +1

    Hi Mark, feel so sorry for what I am gonna do next that where can we download your source code, by the video I pretty much can master what U taught, but I really appreciate your interface design of your app.

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад +1

      Hey Aaron, I provide code through my Patreon page: www.patreon.com/bigmountainstudio. It is a reward to my supporters. I give them the Xcode project and any Sketch files for my projects as well as code to other projects I make but don't put on RUclips. I enjoy rewarding my supporters!
      I love sharing and teaching but the support from Patreon really helps me, especially justifying to my wife why I spend so much time working on these videos. 😃

    • @aaronxin7732
      @aaronxin7732 7 лет назад

      yeah, so appreciate that, It's not about the money, I do like your work, Of cause I will visit the Petreon page to download the source code.

  • @peteralexeichik6760
    @peteralexeichik6760 7 лет назад +1

    if you want the button to go counter clockwise set the angle to 1 degree less ( for example: 179 instead of 180) then when you set .identity it will go counter clockwise back. it seems to want to take the shortest distant back to home position. Hope this helps out.

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      +Peter Alexeichik, Whoah, very interesting. This is very good to know!

    • @peteralexeichik6760
      @peteralexeichik6760 7 лет назад

      set angle to 270 and It will take the shortest route and go counter clockwise

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      I watched a WWDC 2017 video and the speaker mentioned exactly this, that animations will take the shortest route with transforms. Then I thought of your comment about this. Good stuff!

    • @peteralexeichik6760
      @peteralexeichik6760 7 лет назад

      I came across that when I put 270 for the angle and then it went counter clockwise.

  • @chetanrajagiri6397
    @chetanrajagiri6397 7 лет назад +1

    The formula for converting degrees to radians is (degrees * .pi / 180) .

  • @jimistephen
    @jimistephen 7 лет назад

    Since you're using the same time for all the chained animations you should have made it a private let in the UIViewController so you only had to change it at one place.

  • @fuu812
    @fuu812 7 лет назад +1

    Very clear nice vid, thanks!

  • @MaZeModding
    @MaZeModding 7 лет назад +1

    Love your tutorials ! Thanks a lot Mark!

  • @barneym.waiganjo4466
    @barneym.waiganjo4466 6 лет назад +1

    Dope tutorial! 👍🏾👏🏾👏🏾👏🏾👏🏾

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад

      Thanks, Barney! Glad you liked the video!

  • @lucasmoraes1971
    @lucasmoraes1971 7 лет назад +1

    My holly God
    You are so amazing, great tutorial !!!!!!!!!!

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад +1

      Ha ha, thanks, Lucas! Really appreciate the comment!

  • @SurendraKumar-si8lw
    @SurendraKumar-si8lw 7 лет назад +2

    great tutorials about animation. I have a question, can't we put menu button (that 4 social button ) on the bottom of menu, so when menu will go up it will come to visible area and when menu will hide all the button will move to outside the iphone screen ?.. is it a bad way?

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      That's totally OK! I could have had it that way. You have a lot of flexibility here. Take these tool to try and explore new things. :D

  • @nebojsapavlovic2231
    @nebojsapavlovic2231 7 лет назад

    Is there way to provide assets for your tutorials? Keep showing the programmatic way whenever your can for those who don't use IB. and I'm one of them.

  • @khalidtawfik1007
    @khalidtawfik1007 7 лет назад +1

    thank you so much for all these useful tutorials , you are amazing, Keep it up please :) .

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      Thank you, Xaled, I appreciate the kind words!

  • @joeemenaker
    @joeemenaker 6 лет назад +2

    Instead of "let alpha = CGFloat(fbbutton.alpha == 0 ? 1 : 0)", you should be able to toggle the value between 0 and 1 with "fbbutton.alpha = 1 - fbbutton.alpha".

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад

      Another great comment! I NEVER even thought of doing it this way! It makes sense. I think this is the first time I've even seen it done this way too. Eye opening.

  • @waleed.alyazidy
    @waleed.alyazidy 7 лет назад +1

    Amazing! Thank you man

  • @jeremyseibert7653
    @jeremyseibert7653 7 лет назад +1

    In reference to the application. Did you say that there was a tutorial for the swipeable UIView? Also your videos are seriously Awesome!!!

    • @iphonetutorials1374
      @iphonetutorials1374 7 лет назад +1

      Hi Jeremy, I actually started working on the swipeable UIView last night. Should be coming out soon. Stay tuned!

  • @mohamedalib2560
    @mohamedalib2560 6 лет назад +1

    Amazing tutorial ! Thanks 👍

  • @fawadfarooq
    @fawadfarooq 7 лет назад +1

    Easily Digest ! Thank you Man

  • @gabrielmesquita9981
    @gabrielmesquita9981 7 лет назад

    Another great tutorial!

  • @stanymiles
    @stanymiles 7 лет назад +1

    Damn this is good!!! Thanx man! Really useful. Just what i need in my project.

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      That's awesome, Stany. I hope your app turns out great!

  • @rajaikumar9889
    @rajaikumar9889 6 лет назад +1

    Try UIViewPropertyAnimator instead for chain animation

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад

      I've looked at UIViewPropertyAnimator before and it fascinates me. I haven't found a good use of it yet that solves a UI/UX problem. If you have any suggestions or see a UI animation/mockup then please let me know. I'd be interested in exploring it more when I next get some free time.

    • @rajaikumar9889
      @rajaikumar9889 6 лет назад

      Mark Moeykens check this out : twittemb.github.io/swift/animations/reactive%20programming/rxswift/2018/03/24/elegantly-chaining-uiviewpropertyanimators/?OS%2BDev%2BWeekly&OS%2BDev%2BWeekly%2BIssue%2B345

  • @cristianofirmani4810
    @cristianofirmani4810 6 лет назад +1

    Did the way that you scale items to a smaller size change?? When I do-- self.object.transform = CGAffineTransform(scaleX: 0.5, y: 0.5)-- it makes it that small and then animates back to the identity size...

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад

      That sounds right, Christiano. Using a value less than one will make it smaller. The size shouldn't change unless you set the object's transform property back to .identity.

    • @cristianofirmani4810
      @cristianofirmani4810 6 лет назад

      @@bigmtnstudio Huh but I don't transform it back to identity. The only line of code I have is the one above and it automatically shifts it back to the original size.

  • @bachquang298
    @bachquang298 7 лет назад +1

    so perfect, thank bro

  • @joseeuzcategui3863
    @joseeuzcategui3863 5 лет назад +1

    there is no need to know the conversion between degrees/radians, you can do:
    var radians = CGFloat( Measurement(value: 180, unit: UnitAngle.degrees).converted(to: UnitAngle.radians).value)
    and you can "convert" many other such as unitVolum ( L->ml), Unitlength ( Km -> m ) and so on

    • @bigmtnstudio
      @bigmtnstudio  5 лет назад

      WHAT! José, where were you 2 years ago when I made this video? 😄 This is a fantastic tip! Thank you so much for sharing. I never even knew about this.

    • @joseeuzcategui3863
      @joseeuzcategui3863 5 лет назад +1

      @@bigmtnstudio You are very welcome, I am new into swift's world and it fells great to be helpful. Thanks to you for answering my comment.

    • @bigmtnstudio
      @bigmtnstudio  5 лет назад

      @@joseeuzcategui3863, yeah, no problem! I shared your tip with my coworkers and they too never knew about the Measurement object. Super helpful!

    • @bigmtnstudio
      @bigmtnstudio  5 лет назад

      @@joseeuzcategui3863 I made a post too and mentioned you. 😃 www.patreon.com/posts/27073587

  • @frmanns
    @frmanns 7 лет назад +1

    The formula for converting degrees to radians is actually radians = degrees * (pi/180)

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      Oh man, you're right! The only reason why it worked was because in this instance, the degrees happened to be 180. OK, thanks for the tip! I need to find a way to update this video. I think I might be able to use RUclips's editor.

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      OK, got it updated. Thanks, frmanns!

  • @chrisCO24
    @chrisCO24 7 лет назад +1

    what tool do you use for your recordings Mark ?

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад +1

      I started out with just using Quicktime but then moved to Camtasia later on.

    • @chrisCO24
      @chrisCO24 7 лет назад

      thanks mark for the information I really like your videos, they are very useful thanks :D

  • @engelshentenawy
    @engelshentenawy 6 лет назад +1

    awesome thank you.

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад +1

      You're welcome, Ahmed! Thanks for watching!

  • @PEPESQUADBLOGGER
    @PEPESQUADBLOGGER 6 лет назад

    Oh, hi Mark! Is it legal to use your custom icons for socials? Many documentations pays attention that the icons for their socials should be from the template which they gives in documentation

    • @PEPESQUADBLOGGER
      @PEPESQUADBLOGGER 6 лет назад +1

      Thanks for the guide, seems very helpful, you are so talented!

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад

      Thank you, sir!

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад

      I'm not sure what you mean. You mean if I use like RUclips's logo in my app?

  • @fawadfarooq
    @fawadfarooq 7 лет назад +9

    toooooo Excellent man !

  • @jasmeenkaur1588
    @jasmeenkaur1588 4 года назад

    hi sir can you add video which shows how to make card in rate food scene please and thankyou for these videos

  • @deniscandido4116
    @deniscandido4116 7 лет назад

    Hello, can you please post this on github so don't have to ever see the video? Subscribbed!

  • @nickslobodsky4444
    @nickslobodsky4444 6 лет назад +1

    Where did you get the up button, as well as all the other images ?

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад

      Hey, Nick. I created them using Sketch. The photos... I can't remember. I usually use pexels.com.

    • @nickslobodsky4444
      @nickslobodsky4444 6 лет назад

      You should've put all the images in your github page, including the background images.

  • @alialali1455
    @alialali1455 7 лет назад

    thanks thats really helpful, but how can I have button up and down images

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      Thanks, Ali. You can check out an example of up/down images in this video. It might help: ruclips.net/video/Mj2Hc6GU8Is/видео.html

  • @Pseudonaym
    @Pseudonaym 7 лет назад

    Very good tutorial, worked like a charm. However, I have a problem. Whenever I toggle the menu, the MenuView appears to cover the content on my ViewController. Any idea on how I can optimise the view to not cover a collectionView above the MenuView? Thank you.

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад +1

      What would you like to happen instead? You want the menu to push the collectionView up?

    • @Pseudonaym
      @Pseudonaym 7 лет назад

      Not push, rather always keep the spacing between the collectionView and MainView and make sure all the buttons in the MainView are accessible.

  • @stallion502
    @stallion502 7 лет назад

    You are so cool, rly enjoy your videos)

  • @tazihosniomar
    @tazihosniomar 7 лет назад

    thank you sir a lot for your great tutorials

  • @vikasae360
    @vikasae360 7 лет назад +1

    thanks for the tutorial

  • @chmziaurrehman
    @chmziaurrehman 7 лет назад +1

    Very Cool 👍🏻👏🏻

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад +1

      Thanks! This is one of my favorite ways to do animations.

  • @guruitcompany
    @guruitcompany 7 лет назад +1

    Very beautiful, thank you! 😊 👍

  • @sachinsabat9728
    @sachinsabat9728 7 лет назад +2

    How to inherit that class "UIViewX" ?? which resource file i need to download from internet.

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      Hi Sachin, expand the video description and you'll see a link in there to my github page where you can download it.

  • @mauriciohoyte7546
    @mauriciohoyte7546 6 лет назад

    I'm sorry maybe this is not close to the topic but, if I want to make a restaurant's app, how can I make the restaurants put their information in my platform so the users can go to their place? Is that another business? Do I have to call them offering my app?

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад

      Hi Mauricio, I'm not sure of the "correct way" or if there is one correct way to do this but thoughts off the top of my head are:
      * In your app, have a screen that says "Would you like to be listed?" and then provide a link to a website where they can enter their data and it gets saved to an online data store like Firestore or AWS or Azure cloud or something similar.
      * In your app, offer another separate app that restaurant owners can download to manage their restaurant settings that will update the online data store.

    • @mauriciohoyte7546
      @mauriciohoyte7546 6 лет назад

      Thank you so much man you the best

  • @aaronxin7732
    @aaronxin7732 7 лет назад

    It seems that something goes wrong with the radians transition part, cause, no matter what number you put into that function, you always get the .pi, I think what you actually want is CGFloat(degrees * .pi / 180)

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      You're right, Aaron. Someone had pointed this out before too but it's buried in the comments now. I'll update this logic in the video description. Thanks for pointing it out!

    • @aaronxin7732
      @aaronxin7732 7 лет назад +1

      I do benefit lots from your video lately, thank you for that.

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      +Aaron Xin, you're welcome! Hope you build some cool apps!

  • @mohammadtahir7931
    @mohammadtahir7931 7 лет назад +1

    Wow Very Nice !!!

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      Thanks, Mohammad!

    • @mohammadtahir7931
      @mohammadtahir7931 7 лет назад

      could make a video filled circle with wave animation like laundry status fillUp (water fill in the circle with float value with wave animation ) Thanks

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад +1

      Oh I know what you're talking about. I've seen it used on a web page before. I will have to look into it and see if I can figure it out.

    • @mohammadtahir7931
      @mohammadtahir7931 7 лет назад

      Mark Moeykens so please provide us or make a tutorial if possible plz

    • @mohammadtahir7931
      @mohammadtahir7931 7 лет назад

      Mark Moeykens I mean to say I have a circle in showing some water like animation if value change then water fill by value and water going animation in the circle

  • @shadmanalam3552
    @shadmanalam3552 7 лет назад +1

    Where i get the UIViewX library for implementation.

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      Here you go:
      github.com/bigmountainstudio/DesignableX

  • @shadmanalam3552
    @shadmanalam3552 7 лет назад

    from where i get the library of
    UIViewX

  • @roshanrijalable
    @roshanrijalable 6 лет назад +1

    When darkFillView is scaled toggleMenuButton is expanding as well. I'd repeated the video 3 times but unable to find my mistake.

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад +1

      Roshan, it sounds like toggleMenuButton is INSIDE the darkFillView. It should not. Look around 9:00 to see how they should be arranged in the document outline. They should both be on the same level inside the menuView.

    • @roshanrijalable
      @roshanrijalable 6 лет назад +1

      By holding command. :) Thank you mark.

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад

      You're welcome!

  • @muhammadqasim_Abdullah
    @muhammadqasim_Abdullah 7 лет назад

    Good Work But Wher the Code Of Class ViewX Mark Moeykens

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      Here you go, Kam: github.com/bigmountainstudio/DesignableX

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад +1

      Watch this video where I go over errors like that and see if it helps: ruclips.net/video/jxd_yqbh2iw/видео.html
      It's a short video. If that doesn't help, then look at the Identity Inspector for each of your controls on the Storyboard. See if there's an entry in the User Defined Runtime Attributes called "darkFillView" and delete it.

    • @chien-yuyeh9386
      @chien-yuyeh9386 7 лет назад

      You are really awesome :)

  • @GauravRathi88
    @GauravRathi88 7 лет назад

    the translationX is not working for me? For this what you have written the customize code?

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      Gaurav, you mean the code that moves the UIView up?

  • @pavanmanjani7583
    @pavanmanjani7583 6 лет назад +1

    Awesome....

  • @hassnainturi5122
    @hassnainturi5122 Год назад

    Love It

  • @siddharthpn2813
    @siddharthpn2813 6 лет назад +1

    Hello Mark this is Siddharth here. When I tried scaling the view, the button image also scaled up. How do I solve this problem

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад

      Hi Siddharth, when you scale a UIView, everything inside the UIView scales too. So in your animation you have a begin state and an end state. What I would do is setup everything to how you want your END STATE to look. Get everything positioned and sized correctly. Then when your view controller loads, set the begin state with a scaled down version and then animate it to the end state.
      This may sound confusing but I hope it makes sense.

    • @siddharthpn2813
      @siddharthpn2813 6 лет назад +1

      Mark Moeykens Thanks a lot

  • @alekseidanilov9279
    @alekseidanilov9279 7 лет назад

    How do you make animated appearance of Navigation Bar?

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      It's actually controlled on the previous viewcontroller, the intro screen. I didn't want the navigation bar showing on the intro screen so I used this code:
      override func viewWillAppear(_ animated: Bool) {
      super.viewWillAppear(animated)
      navigationController?.setNavigationBarHidden(true, animated: false)
      }
      override func viewDidDisappear(_ animated: Bool) {
      super.viewDidDisappear(animated)
      navigationController?.setNavigationBarHidden(false, animated: animated)
      }
      Then when you leave the intro viewcontroller, viewDidDisappear gets run and it animates the showing of the navigation bar on the second view.

  • @chien-yuyeh9386
    @chien-yuyeh9386 7 лет назад

    Awesome , you 're so amazing ..

  • @alsharjialjaziri4328
    @alsharjialjaziri4328 7 лет назад

    Where can I file Resources
    UIViewX
    Thank you

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      Right here, Alsharji: github.com/bigmountainstudio/DesignableX

  • @ketansutariya40
    @ketansutariya40 7 лет назад +1

    i become fan of u bro...

  • @engelshentenawy
    @engelshentenawy 6 лет назад

    r = deg * pi / 180

  • @yuriramos6691
    @yuriramos6691 7 лет назад

    I think your radians function will always returns .pi

    • @bigmtnstudio
      @bigmtnstudio  7 лет назад

      You're right, Yuri, it will always return pi as it is. There should be an annotation that pops up in the video that I had added later: ruclips.net/video/UfNdNrRHpUw/видео.htmlm45s
      I think if you're watching on a mobile device it might not show up.
      It says:
      "Note: You should actually divide by 180. It works here because degrees happens to be 180 too."

  • @applepie7282
    @applepie7282 6 лет назад +1

    mark bebeğim çok garip adamsın

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад

      I do a Google Translate and this comes out as: "mark baby i'm a very strange man"
      Thanks for watching and I hope my videos helped!

    • @applepie7282
      @applepie7282 6 лет назад +1

      Mark Moeykens it means “you’re” a very strange man. your intros are the most mysterious things in the planet. i love them and thanks a lot for the videos. :)

    • @bigmtnstudio
      @bigmtnstudio  6 лет назад

      Ohhhh, ha ha ha. You know, the intro on this video was my very first. My wife and I were in this little town that was having a film festival (Sundance Film Festival in Park City, Utah) and we saw the RUclips place across the street (behind me). And I told her, I should record an intro video and see if anyone notices the RUclips place behind me. And that become my very intro video. 😃From then on we just kept doing them for the fun of it.