Thread: View locations
-
03-17-2008, 06:59 PM #1
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.
-
03-17-2008, 11:51 PM #2
I would use a UITransition to handle the slide in.
-
03-18-2008, 05:55 AM #3
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.
-
03-18-2008, 11:07 AM #4
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.)
-
The Following User Says Thank You to Cobra For This Useful Post:
BlackWolf (03-19-2008)
-
03-19-2008, 12:36 AM #5
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
-
The Following User Says Thank You to NetMage For This Useful Post:
BlackWolf (03-19-2008)
-
03-19-2008, 07:22 AM #6
the modal view controller and random number thing worked very fine, thanks to both of you.



LinkBack URL
About LinkBacks
Reply With Quote
