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
Delivered-to: email@hidden
Delivered-to: email@hidden
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:from:to:content-type:mime-version:subject:date:x-mailer; bh=B7hR5SPwBSXhp1of9kc1CuNbT2aeSagDJbB3o/b1bBc=; b=IUXD91XjbxOgWknnMAXjg9v+/gXbcL7z4ZQ2jpvhTfPqRkwoAx0pdoZh446ZLLecmczRgDHmDoBjUCWjQ5RLkVxR63Qp0mXKZ4nTibA9pcjnhPaJ7eQYdOf+Spjb8jCp89X0lVU8HCjD1dhhk0v+wlUkGOL1sD5BgqOrjCbcCSo=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:from:to:content-type:mime-version:subject:date:x-mailer; b=oZzQoL2FZ8kOmNAszKgGezh+kx9x4rl+wbUJbzV0/6vfO4wF34JKLdw3BbxG64Ef4JHxg1n3sWl86eazLYe0FQAdgBcq3btz02lLPIvrYhCPVXaRtqwH1SP8fQ8S73GYpp14J6s3RnsNjLC1VDU3B/qZhQYKT19jv+vFXRcP5Lk=
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:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden
This email sent to email@hidden
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE
Contact Apple | Terms of Use | Privacy Policy
Copyright © 2007 Apple Inc. All rights reserved.