+ Reply
Results 1 to 6 of 6

Thread: View locations

  1. #1
    Livin the iPhone Life
    Join Date
    Dec 2007
    Posts
    1,460
    Thanks
    15
    Thanked 197 Times in 184 Posts

    Default View locations

    hi,
    so here I go with another really noobish question:
    What I wanted to do today is to slide in a view from the bottom of the screen. the view is a full-screen view, just like it's superview.

    so, to simplify things, I tried just putting the view (let's call it view2) exactly over it's superview (view1). If I managed to do that it should be easy to get the view below the screen (by just adding it's height to the y-coordinate) and from there I can slide it back up.
    putting the view exactly over the superview is where I got stucked.
    first I tried something like this

    UIView *view2 = [[UIView alloc] initWithFrame:view1.frame];

    that, of course, didn't work because the coordinates of the top-left corner are based on the coordinate-system of the superview. however, I then tried this:

    UIView *view2 = [[UIView alloc] init];
    view2.frame = [view1 convertRect:view1.frame toView:view2];

    I thought this has to work. I was surprised that it did not.
    my question is: why did my second attempt not work? strangely, it does work when I add

    view2.center = [view1 convertPoint:view1.center toView:view2];

    but this does not help me as long as I don't understand WHY one works and the other doesn't.

    would it be bad coding style to just convert everything to the coordinate system of the window itself? would make things a lot easier for me I guess.
    what's the best attempt to do that? what's the best way to work with coordinates? how do I put a view below another? as you can see this is really basic stuff but I'm having a hard time with it

    I really need some help seeing clearly with all this. thanks a lot :-)
    Last edited by BlackWolf; 03-17-2008 at 07:01 PM.

  2. #2
    Developer NetMage's Avatar
    Join Date
    Aug 2007
    Location
    Virginia
    Posts
    1,292
    Thanks
    71
    Thanked 210 Times in 168 Posts

    I would use a UITransition to handle the slide in.
    Starlight Computer Wizardry
    Pocket-sized Development
    Follow me on twitter: @NetMage

  3. #3
    Livin the iPhone Life
    Join Date
    Dec 2007
    Posts
    1,460
    Thanks
    15
    Thanked 197 Times in 184 Posts

    Quote Originally Posted by NetMage View Post
    I would use a UITransition to handle the slide in.
    hi,
    thanks for your quick reply.

    I guess you mean CATransition? That's the only thing I was able to find.
    Unfortunatly, I'm not really familiar with the whole Core Animation stuff. That's why i wanted to use the UIView's animation methods in the first place - they are pretty easy to use. Maybe you could just give a quick little example how I would go about using CATransition? I understand it's properties and everything, I just don't really know what to do with the CATransition object. I'm reading my way through the core animation guide, but I have so much to learn about cocoa it's really hard to learn all at once

    oh, and btw: still I'm asking myself why
    view2.frame = [view1 convertRect:view1.frame toView:view2];
    doesn't produce a view that is the same size and position as its superview. in my understanding of the frame property this is exactly what should happen. any ideas on this?

    thanks :-)
    blackwolf

    PS: doesn't really fit into the topic, but is there any easy way to get the window object of a UIView? I did it using the superview property and stuff but that gets really ugly, because it results in something like [[[self.view superview] toolbarController] superview] ... any easy way to do this?

    PPS: another stupid, topic-unrelated question: When I have a UITextField and a user taps into it a keybaord appears. is there any way to hide that keyboard again, for example when the user taps anywhere else on the screen, or - in my case - I want to hide the keyboard before I start an animation.

    PPPS: I know, you all gonna kill me. has anyone an idea how to create a (pseudo-)random number?
    Last edited by BlackWolf; 03-18-2008 at 10:14 AM.

  4. #4
    Green Apple
    Join Date
    Sep 2007
    Posts
    43
    Thanks
    0
    Thanked 12 Times in 6 Posts

    No, he means there is a transition type that allows changing between views. There are a bunch of transition types, one of them is slide from any edge (you specify the direction.) If your parent view type is a UITransition view, there are methods that allow you to say 'transitionTo: newview' and it just slides in. Pretty slick, no?

    http://idevdocs.com/forum/showthread.php?t=42

    And for a whole bunch of animation types in demo/test view form, see:
    http://idevdocs.com/forum/showthread.php?t=181 (grab ver 0.4 later in the thread.)

  5. The Following User Says Thank You to Cobra For This Useful Post:

    BlackWolf (03-19-2008)

  6. #5
    Developer NetMage's Avatar
    Join Date
    Aug 2007
    Location
    Virginia
    Posts
    1,292
    Thanks
    71
    Thanked 210 Times in 168 Posts

    PPPS: http://www.macosxguru.net/article.ph...31229194721194

    If you are using the SDK, look up Modal View Controllers on the proper way to handle this.
    Last edited by NetMage; 03-19-2008 at 12:36 AM. Reason: Automerged Doublepost
    Starlight Computer Wizardry
    Pocket-sized Development
    Follow me on twitter: @NetMage

  7. The Following User Says Thank You to NetMage For This Useful Post:

    BlackWolf (03-19-2008)

  8. #6
    Livin the iPhone Life
    Join Date
    Dec 2007
    Posts
    1,460
    Thanks
    15
    Thanked 197 Times in 184 Posts

    the modal view controller and random number thing worked very fine, thanks to both of you.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts