On 27 Oct 2017, at 20:34, Bertrand Gmail <[email protected]> wrote:
> 
> Le 27/10/2017 à 20:36, Josh Freeman a écrit :
>> I think you meant to use 'string', not '[NSString string]' - the latter 
>> returns an empty string.
>> 
>> stringSize=[[NSString string] sizeWithAttributes:attributes];
>>  ->
>> stringSize=[string sizeWithAttributes:attributes];
>> 
> I introduced  [NSString string] because of this warning at compile time :
> 
> GSPanel.m:75:23: warning: 'NSMutableAttributedString' may not respond to
>      'sizeWithAttributes:'
>   stringSize=[string sizeWithAttributes:attributes];
> 
> And the executable doesn't work.

But now you are asking what the length of an empty string is, when a set of 
attributes are applied.  You want to be asking what the length of @“GNUstep” 
is.  You do not need to construct an NSAttributedString to call a method on 
NSString.

Note: The -sizeWithAttributes: method will invoke the NSTypesetter / 
NSLayoutManager infrastructure under the hood (with some shared instances), but 
by calling it in this way doesn’t let you specify any constraints on the size, 
so you’re likely to end up with the length of the string with no wrapping or 
hyphenation.  This method is intended to let you quickly get an approximation 
of the size so that you can construct UI elements that you will then later 
resize once you know the real sizes.  If you want to know the size of a string 
with the correct line wrapping, then you should use the text system directly.

David


_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to