macOS 开发 - NSTextField 使用 attributedStringValue

版权声明:本文为博主原创文章,转载请附上本文链接地址。from : https://blog.csdn.net/lovechris00 https://blog.csdn.net/lovechris00/article/details/82156566


1、设置 attributedStringValue

问题:

文本框设置了 attributedStringValue,显示是OK的,但获得焦点后无效。   

解决方法:

 [self.inputField setAllowsEditingTextAttributes:YES];

猜想问题原因是,NSTextField 显示和输入,内部实际是由不同的控件完成。

解决方法来源:
https://stackoverflow.com/questions/39505365/osx-nstextfield-resets-attributedstringvalue-when-text-is-selected


2、设置居中

使用 attributeString 后,如此设置居中失效:

label.alignment = NSTextAlignmentCenter;

需要设置 attributeString 的居中,然后赋值给 label.attributedStringValue

NSMutableAttributedString *result =  [[NSMutableAttributedString alloc]initWithString:text attributes:attributes];

[result setAlignment:NSTextAlignmentCenter range:NSMakeRange(0, text.length)];

猜你喜欢

转载自blog.csdn.net/lovechris00/article/details/82156566