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]
