Very strange problem about "setString" method of NSTextView.
Very strange problem about "setString" method of NSTextView.
- Subject: Very strange problem about "setString" method of NSTextView.
- From: Allen Dang <email@hidden>
- Date: Sun, 30 Dec 2007 20:31:44 +0800
Hi,
I want NSTextView to scroll to one specific position after opened one
text file (some kind like a bookmark).
Following is my code:
[textView setString:contentString];
NSNumber *scrollerPosition = [bookmarks objectForKey:filePath];
if (scrollerPosition)
{
float maxPosition = NSMaxY([[scrollView documentView] frame]) -
NSHeight([[scrollView contentView] bounds]);
if ([scrollerPosition floatValue] < maxPosition)
{
NSPoint newPosition = NSMakePoint(0.0, [scrollerPosition floatValue]);
[[scrollView documentView] scrollPoint:newPosition];
}
}
I found the value of "maxPosition" always be 0.0 when upper code be
invoked every first time, so I think the "setString" method of
NSTextView is an async method, the size of scrollView may not be
changed immediately after "setString" be invoked.
Then I tried to use
[textView performSelectorOnMainThread:@selector(setString)
withObject:contentString waitUntilDone:YES]
instead of
[textView setString:contentString]
But it still won't work..... What should I do now?
Allen Dang
email@hidden
_______________________________________________
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