Re: Setting NSTextField inside drawRect:
Re: Setting NSTextField inside drawRect:
- Subject: Re: Setting NSTextField inside drawRect:
- From: "Gerriet M. Denkmann" <email@hidden>
- Date: Mon, 18 Feb 2008 17:38:44 +0700
On 2008 Feb, 16, at 0:01, Gerriet M. Denkmann wrote:
I have in 10.4.11 an NSWindow with a MyView and an NSTextField.
- (void)drawRect:(NSRect)rect
{
[ [ NSColor redColor ] set ];
NSRectFill( rect );
[ textField setStringValue: @"Buh" ];
// without the following line, the textField will never show its
new text:
[ self performSelector: @selector(textFieldUpdate) withObject:
nil afterDelay: 0.0 ];
}
- (void)textFieldUpdate { [ textField setNeedsDisplay: YES ]; }
Why does setting an NSTextField form inside drawRect: not work?
I can't say for sure, because you did not explain which class
implementation the above code was copied from.
Sorry about this. It is the drawRect: of MyView.
But a possible explanation is that your drawRect: method is not
drawing your
textField. When you implement drawRect:, you're the man! The system
assumes that drawRect: is going to draw ^everything^ in the rect
argument that it is given.
The NSTextField is not inside MyView, but below it; both are in the
same window.
I have another app, where the setStringValue: inside drawRect: does
trigger a display of the text field, but without erasing it - so that
the old and the new text are both visible, one on top the other -
looks rather messy; but this is not reproducible in my test app.
Kind regards,
Gerriet.
_______________________________________________
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