On 29/07/2009, at 2:11 AM, Peter Mulholland wrote:

Hello cocoa-dev,

Basically, i'm trying to do a little debug console. I'm using the NSTextView in NSScrollView from Interface Builder.

I've got a Print member in my window's controller class which basically does:

[TextView setString:[[TextView string] stringByAppendingString:newString]];

What I want is for the horizontal size of the NSTextView part to expand to the length of the string. I'm guessing NSTextView already knows about \n and how to make a suitable rectangular area out of a string.

I've set the Text View portion to be horizontally and vertically resizeable. I've also made sure it's only autosizing vertically, so that the Scroll View will show a horizontal scroll bar.

By default, it doesnt work. I add text with Print, and it always wraps. If I size my window (which resizes the ScrollView) wide enough, the text goes onto one line. When i size it smaller, the horizontal scroll bar appears as expected.

I have tried calling sizeToFit after the setString, but it doesn't do anything.

This is probably a really simple job, but i'm out of ideas! I'm just starting with Cocoa, really.


The text view only displays the text that's laid out by other objects. In this case, the one you need to modify is the text container.

To get the text container, use [textView textContainer].

Then, set its size to something huge in width, say 10000 (- setContainerSize:). Call -setHeightTracksTextView:YES and - setWidthTracksTextView:NO, and I think that should do it.

--Graham


_______________________________________________

Cocoa-dev mailing list ([email protected])

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/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to