Thanks for that piece of code - it works a treat and produces a sensible height 
!

The only problem is that my attributed string does not draw correctly .
The string has a number of new lines ( \n ) in it and would need to be wrapped 
into the space.  
It all works perfectly in objective-C !
But, I do seem to remember having to tell the cell to wrap the text …..

Many thanks 

Peter




> On 3 Mar 2017, at 13:28, Igor Ranieri <[email protected]> wrote:
> 
> Hi Peter.
> 
> 
> Have you tried also passing `usesLineFragmentOrigin` as one of the options? 
> It works here.
> 
> Here’s some code I’m currently using to achieve a similar effect:
> 
> let sizeLimit = CGSize(width: 80.0, height: CGFloat.greatestFiniteMagnitude)
> let size = attrString.boundingRect(with: sizeLimit, options: 
> [.usesLineFragmentOrigin, .usesFontLeading], context: nil).integral.size
> 
> And it returns the expected size.
> 
> 
> best,
> elland
> 
> 
>> On 3. Mar 2017, at 14:18, Peter Hudson <[email protected]> wrote:
>> 
>> Hi All
>> 
>> I have done the following to try to determine the rect required to draw an 
>> attributed string( and thus the height of a row in a table view  - on MacOS 
>> ) 
>> 
>> I am trying to constrain my column width to 60 - and let the possible height 
>> of the row be a max of 1000.
>> 
>> 
>> let aString = anAttributedString
>> let constrainedSize = NSMakeSize(60.0, 1000.0)
>> let optns = NSStringDrawingOptions.usesFontLeading
>> let cntxt = NSStringDrawingContext()
>> cntxt.minimumScaleFactor = 1.0
>> 
>> let aRect = aString?.boundingRect(with: constrainedSize, options: optns, 
>> context: cntxt)
>> 
>> 
>> 
>> After the call to boundingRect,  aRect has its width set to 60 and its 
>> height set to 18.  
>> 
>> This is not however correct for the contents of the attributed string - I 
>> would expect the height to be at least 200 or so with the width constrained 
>> to 60.
>> 
>> Any help gratefully received.
>> 
>> Peter
>> 
>> 
>> 
>> _______________________________________________
>> 
>> 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:
>> https://lists.apple.com/mailman/options/cocoa-dev/igor%40elland.me
>> 
>> This email sent to [email protected]
> 


_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to