Re: How to Correctly Resize Views with Manual Layout



Just a quick message to say I’ve now got it working well using resizeWithOldSuperviewSize.

Wanted to say thanks to everyone that helped.

All the Best

On 26 Sep 2018, at 18:16, Dave <dave@...> wrote:


Ok, yes, that was a typo, I released it needed to be after I posted, I was about to post that I’ve I’ve actually concocted a test app got it working using the bounds rect as a base.

One thing I’ve noticed is that NSTextField doesn’t seem to Jive with isFlipped = YES, which seems odd and slightly annoying, anyone know why?

Thanks a lot.

All the Best

On 26 Sep 2018, at 18:03, Andy Lee via Groups.Io <aglee@...> wrote:

Two quick comments:

- You want to set the subview's frame relative to the superview's bounds, not its frame.
- You might want to experiment with a scratch app before making a lot of code changes at once in your existing app.  Or, if possible, make your code changes incrementally, relaunch the app, fiddle with window size, and see if the changes look right.


On Wed, Sep 26, 2018, at 8:55 AM, Dave wrote:
Hi All,

I’ve started move over to using the correct Manual Layout Methods as per 
my recent posts. The methods are:


WindowTrackerView .view Property

All views have isFlipped override and returning YES.

Given that I want SubviewA to be inset 10 pixels from the top, left and 
right of the Superview  and bottom to be the same as the superview, what 
code do I need to write?

For instance would the following work:

-(void) resizeWithOldSuperviewSize:(NSSize) theOldSuperviewSize
NSRect myRect;

[super resizeWithOldSuperviewSize: theOldSuperviewSize];

myRect.origin = self.superview.frame.origin.x + 10;
myRect.origin = self.superview.frame.origin.y + 10;
myRect.size.width = self.superview.frame.size.width - (10 *2);
myRect.size.height = self.superview.frame.size.height - 10;
self.frame = myRect;

I just want to be sure I’m on the right track before I start changing 
loads of code.

If anyone knows of a working example of using these methods, I’d be 
really grateful if they could point me to it!

Thanks in advance for any help.

All the Best

Join to automatically receive all group messages.