Re: Why does my custom view grow in the wrong direction?
Re: Why does my custom view grow in the wrong direction?
- Subject: Re: Why does my custom view grow in the wrong direction?
- From: Tito Ciuro <email@hidden>
- Date: Tue, 4 Jul 2006 15:41:42 -0700
Thanks for the help Matt!
-- Tito
On Jul 4, 2006, at 2:50 PM, Matt Neuburg wrote:
On Tue, 4 Jul 2006 09:01:23 -0700, Tito Ciuro <email@hidden> said:
Hello,
I have a custom NSView that is not behaving the way I expected. I
return YES in isFlipped, and when I change the height of the view
like this:
- (void)adjustContainerWithNewHeight:(float)newHeight
{
NSRect containerFrame = [self frame];
if (newHeight > containerFrame.size.height) {
containerFrame.size.height = newHeight;
[self setFrame:containerFrame];
}
}
the view grows "upward" (the origin moves up), as I would expect if
isFlipped == NO. Any other operations, such as placing subviews at a
particular point behaves fine, that is, increasing origin.y goes
downward.
Why is that? How should I grow the view while honoring its origin?
"isFlipped" here is a red herring. Your frame is your position in
the larger
world around you, and uses the coordinate system of that larger
world. For
example, a window's frame is in screen coordinates. A button's
frame is in
its superview's coordinates. This is completely unaffected by
"isFlipped",
which is about something else entirely. See:
...Cocoa/Conceptual/CocoaViewsGuide/Coordinates/
chapter_3_section_3.html
So, your frame's origin is still the lower left, and it is growing
in the
normal way - its height is increasing and its lower left is staying
the same
(because you didn't change it). To make it grow "downward", you'll
have to
adjust its origin's y value at the same time that you change its
height. m.
--
matt neuburg, phd = email@hidden, <http://www.tidbits.com/matt/>
A fool + a tool + an autorelease pool = cool!
AppleScript: the Definitive Guide - Second Edition!
<http://www.amazon.com/gp/product/0596102119>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden