• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: NSTextFieldCell multi-line
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSTextFieldCell multi-line


  • Subject: Re: NSTextFieldCell multi-line
  • From: Micha Fuhrmann <email@hidden>
  • Date: Tue, 09 Nov 2010 17:45:07 +0800

Thanks for your respons, but I need the exacte size in points, which means drawing with the right Font etc.

So here's where I am

in

- (CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row

I'm calling a function which calculates the height needed for the text and that's what I'm returning:

-(float)heightForStringDrawing:(NSString*)theTextField withFont:(NSFont*)myFont forWidth:(float)myWidth{
	NSTextStorage *textStorage = [[[NSTextStorage alloc] initWithString:theTextField] autorelease];
	NSTextContainer *textContainer = [[[NSTextContainer alloc] initWithContainerSize: NSMakeSize(myWidth, FLT_MAX)] autorelease];
	NSLayoutManager *layoutManager = [[[NSLayoutManager alloc] init] autorelease];
	[layoutManager addTextContainer:textContainer];
	[textStorage addLayoutManager:layoutManager];
	[textStorage addAttribute:NSFontAttributeName value:myFont range:NSMakeRange(0,[textStorage length])];
	[textContainer setLineFragmentPadding:0.0];
	[layoutManager glyphRangeForTextContainer:textContainer];
	return [layoutManager usedRectForTextContainer:textContainer].size.height;
}

BUT, I'm getting row clippings, and the strange thing if as soon as I'm clicking on any cell, everything comes back to good order.

Any help appreciated,

Michael

On 8 nov. 2010, at 20:32, email@hidden wrote:

>
> On 8 Nov 2010, at 08:55, Micha Fuhrmann wrote:
>
>> Dear All,
>>
>> I'm stuck here and it seems so trivial...
>>
>> I'm using NSTextFieldCell in a tableview and when the text takes the whole cell, the cell size doesn't resize and add a line (which I would expect!!!). Setting the text properties in NSCell doesn't cut it either. So I've tried using
>>
>> - (CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row {
>>
>> But how can I compute the amount screen pixels my NSString that's going into the cell will take to return a height with the proper number of lines? I must be missing something, it's just too silly.
>>
>> Any help appreciated.
>>
>> Michael
>>
>>
> For cell text wrapping behaviour see the NSCell documentation: -setLineBreakMode, -setWraps, -setTruncatesLastVisibleLine:
>
> To get the required size try NSString  -sizeWithAttributes:
>
> Regards
>
> Jonathan Mitchell
>
> Developer
> Mugginsoft LLP
> http://www.mugginsoft.com
>> This email sent to 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

_______________________________________________

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

  • Follow-Ups:
    • Re: NSTextFieldCell multi-line
      • From: Ross Carter <email@hidden>
References: 
 >NSTextFieldCell multi-line (From: Micha Fuhrmann <email@hidden>)
 >Re: NSTextFieldCell multi-line (From: "email@hidden" <email@hidden>)

  • Prev by Date: sizeof a function
  • Next by Date: Re: sizeof a function
  • Previous by thread: Re: NSTextFieldCell multi-line
  • Next by thread: Re: NSTextFieldCell multi-line
  • Index(es):
    • Date
    • Thread