我可以通过其内容自动调整多行NSTextField对象吗?
例如,我想使对象的宽度固定,但其高度适合其内容。那么我该如何生成布局约束呢?
答案 0 :(得分:6)
按照以下步骤操作: -
1)然后在NSTextField
interface builder->AttributeIsnpector->set control to LineBreak-word wrap-> set state-> Enabled
2)实现以下代码: -
-(void)controlTextDidChange:(NSNotification *)obj
{
//if you want to width to change then uncomment below
// CGFloat width=[[self.txtFld cell] cellSizeForBounds:self.txtFld.bounds].width;
CGFloat heigth=[[self.txtFld cell] cellSizeForBounds:self.txtFld.bounds].height;
[self.txtFld setFrameSize:NSMakeSize(160, heigth+10)];
}
答案 1 :(得分:2)
是的,您可以使用NS(Attributed)String+Geometrics类别。
NS(属性)String + Geometrics是一对或可重复使用的类别(on 您可以添加到项目中的NSString和NSAttributedString) 提供简单的方法来获得文本所需的宽度和高度 画画。