• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: NSPopover subview positioning issue
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSPopover subview positioning issue


  • Subject: Re: NSPopover subview positioning issue
  • From: Fritz Anderson <email@hidden>
  • Date: Sat, 17 Mar 2012 15:10:57 -0500

On 17 Mar 2012, at 2:48 PM, Erik Stainsby wrote:

> I've got a popover controller which loads one of several subviews ('panels' below) as it's content. I have properties on the controller which expose the current panel's height and width.  The popover resizes correctly but fails to place the panel correctly.  If the replaceSubview:with: is called before the resize (as illustrated) the panel appears shifted down by half it's height, leaving half of the panel content inaccessible. If the -replaceSubview:with: call is placed after the resize, the inserted panel is half invisible off the top edge of the popover.
>
> Does anyone understand what on earth is happening? And what I can do about it?
>
>
> @implementation RSPanelPopoverController
>
> @synthesize popover = _popover;
> @synthesize box = _box;
> @synthesize activePanelWidth;
> @synthesize activePanelHeight;
>
> - (void) showPanelPopover:(NSView*)locator activePanel:(NSView*)panel {
>
> 	[[self view] replaceSubview:[self box] with:panel];
>
> 	[self setActivePanelWidth: panel.frame.size.width];
> 	[self setActivePanelHeight: panel.frame.size.height];
>
> 	[[self popover] showRelativeToRect:[locator bounds] ofView:locator preferredEdge:NSMinYEdge];
> }

I'm not clear on a few things. It appears that the "panel" frame is offset one way or the other, but I don't see the frame being set, nor the panel being translated. You say that the order of setActivePanel…: matters, but you don't show that the methods (odd, but not wrong, that you don't use dot notation) do anything but change the value of an instance variable. If they actually change view geometry, you'll have to show us.

What class does RSPanelPopoverController descend from?

What is .box? (It appears that it can be replaced only once.) Have you logged the frames of .box, .view, and panel, before and after the replacement? And .view.bounds?

	— F


_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden


  • Follow-Ups:
    • Re: NSPopover subview positioning issue
      • From: Erik Stainsby <email@hidden>
References: 
 >NSPopover subview positioning issue (From: Erik Stainsby <email@hidden>)

  • Prev by Date: NSPopover subview positioning issue
  • Next by Date: Re: NSPopover subview positioning issue
  • Previous by thread: NSPopover subview positioning issue
  • Next by thread: Re: NSPopover subview positioning issue
  • Index(es):
    • Date
    • Thread