Cocoa -[NSTextField intrinsicContentSize]始终具有未定义的宽度
我在这里吹毛求疵。我在xib上创建了一个NSTextField,该字段的intrinsicContentSize调整为其stringValue 如果我像这样以编程方式创建文本字段:Cocoa -[NSTextField intrinsicContentSize]始终具有未定义的宽度,cocoa,autolayout,nstextfield,Cocoa,Autolayout,Nstextfield,我在这里吹毛求疵。我在xib上创建了一个NSTextField,该字段的intrinsicContentSize调整为其stringValue 如果我像这样以编程方式创建文本字段: _textfield = [[NSTextField alloc] initWithFrame:CGRectZero]; _textfield.translatesAutoresizingMaskIntoConstraints = NO; _textfield.alignment = NSCe
_textfield = [[NSTextField alloc] initWithFrame:CGRectZero];
_textfield.translatesAutoresizingMaskIntoConstraints = NO;
_textfield.alignment = NSCenterTextAlignment;
_textfield.drawsBackground = NO;
[_textfield setBordered:NO];
_textfiled.stringValue = @"Test"
它的intrinsicContentSize总是(宽度=-1,高度=16)
我已尝试调用invalidateIntrinsicContentSize,但无效
如何使NSTextField的intrinsicContentSize正常工作??我一定是在做一些与xib不同的事情,我只是不知道是什么。好的,终于想出来了
[\u textfield set可编辑:否]
就这样。我猜对于可编辑的文本字段,必须对文本字段宽度有明确的约束。这是有意义的,想象一下编辑一个文本字段,它会随着每次击键而不断水平增长。。。这不是一个理想的UI。如果您确实需要一个可编辑的文本字段,请确保NSTextField的宽度约束设置为视图应具有的最小宽度。是!经过这么多的努力,将
editable
设置为false
成功了。非常感谢!