当前位置: 首页 > 知识库问答 >
问题:

NSTextField可调整大小以适应内容

龚沛
2023-03-14

我有定义了left、right和top约束的NSTextField(没有设置bottom约束)。我需要NSTextField增长,如果内容不能容纳在其中,并减少大小,如果有未使用的空间。

现在我有了:如果NSTextField有多行文本或太多内容,它会以奇怪的行为自动扩展,而且NSTextField在窗口调整大小时不会减小自己的大小。

在Swift上,我还没有找到任何简单的解决方案来解决这个问题(我有很多这样的带有约束的标签),在iOS上,一切都是用普通的文本标签和约束来工作的。

我找到但没有使用的解决方案:

>

  • 您可以尝试计算可能的文本字段高度并为其设置高度约束。该解决方案的问题:

    • 可能的高度计算不准确,有时计算的高度不正确。
    • 解决方案是用一些复杂的代码在Objective-C上编写的。
      null
  • 共有1个答案

    宦文柏
    2023-03-14

    根据Mac OS X发行版说明(NSTextField intrinsicContentSize改进部分),当NSTextField的高度改变,但宽度保持不变时,就会出现已知的错误。我们有两种方法来修复它:

    1. 我们可以将maximumNumberofLines指定为一个有意义的值。这对我们来说不是一个好方法,因为我们不知道实际的行数,也不想计算它。
    2. 我们可以将PreferredMaxLayOuthidth设置为一个实值。我以这样的代码结束:

    代码:

    override func viewDidLayout() {
        super.viewDidLayout()
        textField.preferredMaxLayoutWidth = textField.frame.width
    }
    
     类似资料:
    • 我正在尝试使图片适合JLabel。我希望将图片尺寸缩小到更适合我的Swing JPanel的尺寸。 我尝试使用setPreferredSize,但它不起作用。 我在想有没有一个简单的方法来做这件事?我应该为此缩放图像吗?

    • 下面是“DisplayImage”自定义面板相关部分的代码:

    • 我对JPanel和JFrame还是个新手,可能没有按照我应该的方式使用它们。我正在尝试创建Pong游戏,在创建JFrame并将JPanel添加到它之后,我可以调整JPanel的大小,但我不知道如何调整JFrame的大小以适应它。Game类扩展了JPanel。 主: 编辑: 将setSize更改为setPreferredSize,然后为JFrame调用pack()就可以解决所有问题。

    • 我正在用JavaFX写一个程序 硼烷- 我希望能够添加尽可能多的行到gridpane,并让scrollpane自动扩展自己。 注意:我有一些很长的文件,所以我只包括重要的部分。如果您需要整个FXML或Controller文件,请给我留言。 以下是我的gridpane/scrollpane的FXML: 我有以下代码在我的控制器内的FXML 谢谢大家的帮助! 瑞恩

    • 如何让ImageView中的图像自动调整大小,使其始终适合父节点? 下面是一个小代码示例:

    • 我有一些问题与CSS为我的网页,显示社会媒体风格的帖子,包括图像。当显示图像时,它们被放置在div标记中,该标记的样式是尝试缩小图像的大小,并将图像horziont地相邻显示。 然而,我有一个问题,图像仍然试图堆叠在一起,我不能让他们调整我想要的大小,特别是在移动。目前基于其他线程,这是我得到的