Re: Overlapping Views
Re: Overlapping Views
- Subject: Re: Overlapping Views
- From: Alastair Houghton <email@hidden>
- Date: Fri, 23 Nov 2007 17:16:25 +0000
On 23 Nov 2007, at 17:03, David Alger wrote:
This particular app would be a full-screen app. The main window,
covering most if not all of the screen, would have a background
image with other controls directly on top of it. They would be
customized to the extent I could in IB & sub-classed if necessary,
which I know that I will have to do to achieve the behavior &
appearance I want in some. Since the NSImage view doesn't support
sub-views (I'm assuming it doesn't since IB won't let me put any in
it), I was trying to have the NSImage view behind the other views so
I wouldn't have to customize a NSView & draw the image manually.
Ah, I see. IB may not let you put subviews inside it, but I think
you'll find that you can add them programmatically, in which case the
normal view machinery will work just fine.
Another (probably easier) way to achieve something similar would be to
use a custom view, set its class to NSImageView, then initialise it
from your -awakeFromNib routine in your application's controller
object. IB *will* let you put views inside a custom view.
I think that should solve the problem for you without needing any
support for overlapped sibling views.
This will be my very first app written in Cocoa/Obj-C, and I'm very
used to having compositing views in Carbon. I won't be overlapping
views like this though if it isn't really supported, since I don't
want my app to possibly have erratic drawing/refresh behavior.
As I say, child views are pretty much always supported, even though IB
might not let you create them in some cases.
Kind regards,
Alastair.
--
http://alastairs-place.net
_______________________________________________
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