gpt4 book ai didi

cocoa - 以编程方式制作多行标签

转载 作者:行者123 更新时间:2023-12-03 16:07:02 26 4
gpt4 key购买 nike

我需要以编程方式制作一些标签和文本字段。我可以到达那里。

    //create the file name label
NSTextField* newFileNameLabel = [[NSTextField alloc] initWithFrame:NSMakeRect(objXPos, objYPos, 300.0, 20.0)];
//set properties
[newFileNameLabel setBordered: NO];
[newFileNameLabel setTextColor: [NSColor whiteColor]];
[newFileNameLabel setDrawsBackground:NO];
[newFileNameLabel setEditable:NO];
[newFileNameLabel setStringValue: @"File Name:"];

[vSheetView addSubview:newFileNameLabel];

但是我在文档中找不到任何可以让我设置换行属性的内容。在 IB 中,属性是布局,其选项为“滚动、换行和截断”。 NSTextField 没有方法来设置它,如果我沿着继承链向上,NSControl 也没有。 NSView 有一个 setNeedsLayout 方法,但它似乎不相关:

You only ever need to invoke this method if your view implements custom layout 
not expressible in the constraint-based layout system by overriding the layout method.
The system invokes this method automatically for all views using constraints for layout.

NSTextFieldCell 也没有任何方法。任何帮助,将不胜感激。

最佳答案

在 OS X 10.11 和 Swift 2.1 中,以下内容对我有帮助:

multilineLabel.lineBreakMode = .ByWordWrapping
multilineLabel.setContentCompressionResistancePriority(250, forOrientation: .Horizontal)

如果使用自动布局,则需要设置压缩阻力。

关于cocoa - 以编程方式制作多行标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9397940/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com