Re: Releasing a sub-view
Re: Releasing a sub-view
- Subject: Re: Releasing a sub-view
- From: Jeremy Dronfield <email@hidden>
- Date: Wed, 28 Apr 2004 13:50:46 +0100
On 28 Apr 2004, at 1:45 pm, Jeremy Dronfield wrote:
You should release theView once you have added it to its superview,
thus:
[ssView addSubview:theView];
[theView release];
Then, if you want to reuse it, you should retain it before removing it:
[theView retain];
[theView removeFromSuperviewWithoutNeedingDisplay];
I ought to add here that if you *don't* want to reuse theView, don't
retain it. Once it's removed from its superview, it will be released
and your retain count goes to 0.
As for the "white flash", this is presumably your window redrawing
without theView. The documentation for NSView states that
-removeFromSuperview should never be invoked during display. Use
-removeFromSuperviewWithoutNeedingDisplay instead.
Hope this helps
Regards,
-Jeremy
On 28 Apr 2004, at 1:07 pm, Lorenzo wrote:
Hi,
I create a custom NSView
theView = [[XAView alloc] initWithFrame:theFrame];
now theView has retainCount = 1;
then I add it to a ScreenSaverView
[ssView addSubview:theView];
now theView has retainCount = 2;
when the ScreenSaverView calls
- (void)stopAnimation
{
[theView release];
[super stopAnimation];
}
theView has not been released because it has still retainCount = 1.
Anyway I see a good fade-out of the screen-saver. Instead if I call
- (void)stopAnimation
{
[theView removeFromSuperview];
[theView release];
[super stopAnimation];
}
theView has been released properly.
The problem is that when theView has been removed from the superview
I see a white flash on the screen. Then I see the fade-out.
How to avoid this annoying white flash?
Best Regards
--
Lorenzo
email: email@hidden
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.