Main Content

textwrap

使用户界面控件的文本换行

说明

示例

注意

App 设计工具或使用 uifigure 函数创建的 App 不支持将 textwrap 函数与 UIControl 对象结合使用。在这种情况下,要在组件(如 LabelButton)中实现文本换行,请将该组件的 WordWrap 属性设置为 'on'

wrappedtext = textwrap(c,txt) 返回在适应指定的 UIControl 对象 c 的字符宽度处换行的文本。UI 控件对象必须为使用 uicontrol 函数创建的对象,其 'Style' 属性值设置为 'text''edit'。例如,c = uicontrol('Style','text')

示例

对于给定的 UI 控件,wrappedtext = textwrap(c,txt,numchar) 返回在指定字符数处换行的文本。字符计数中包含空格。textwrap 尽可能避免拆分单词。如果在指定的字符数内无法容纳某个单词,则 textwrap 将其移至下一行的开头。

wrappedtext = textwrap(txt,numchar) 返回在指定字符数处换行的文本。

示例

[wrappedtext,position] = textwrap(___) 还根据要换行的文本返回 UI 控件的推荐位置。返回的位置可让完整文本显示在 uicontrol 中而不进行裁剪。如果未指定 UI 控件,则位置向量包含的元素全部为零。

示例

全部折叠

为静态文本字段的 String 属性指定两行文本。

c = uicontrol('Style','text');
c.String = {'Extraordinarily long text will be wrapped', ...
'inside of a static text field.'};

Figure window with text that is wrapped and cut off

文本被截断并换行超过两行,因为文本字段的默认宽度和高度不足以容纳指定文本的全长。请注意“Extraordinarily”一词是如何分成两行的。

预览推荐的换行文本字符向量元胞数组,使文本适应 UI 控件的宽度并且调整大小的量最少。

wrappedtext = textwrap(c,c.String)
wrappedtext =

  7×1 cell array

    {'Extraordinarily'}
    {'long text'      }
    {'will be'        }
    {'wrapped'        }
    {'inside of a'    }
    {'static text'    }
    {'field.'         }

以指定的字符宽度对文本换行,并将其显示在静态文本字段中。

[20 20 60 20] 的默认位置创建一个静态文本字段。指定要在其中显示的文本。

c = uicontrol('Style','text');
c.String = {'The data shown represents 18 months of observations.'};

Figure window with text that is wrapped and cut off

由于 UIControl 对象的默认宽度和高度值太小,无法容纳完整文本,因此文本被截断并显示在多行上。

预览最大文本宽度为 16 个字符时的换行文本和推荐的 UIControl 对象位置。

[wrappedtext,position] = textwrap(c,c.String,16)
wrappedtext =

  4×1 cell array

    {'The data shown '}
    {'represents 18 ' }
    {'months of '     }
    {'observations.'  }


position =

    20    20    86    64

在文本字段中显示换行文本,并将其移至推荐位置。

c.String = wrappedtext;
c.Position = position;

Figure window with the full text: "The data shown represents 18 months of observations."

输入参数

全部折叠

UI 控件对象,指定为 UIControl 对象。UIControl 对象必须支持多行文本。例如,其 Style 属性可以是 'text''edit'。使用此参数可以确定文本在指定 UI 控件中的换行方式,或者根据要换行的文本来确定 UI 控件的推荐大小。

要换行的文本,指定为字符向量元胞数组、字符串数组或字符串标量。

示例: {'Please select an answer from the options below.'}

示例: ["Enter your name using","the format LastName, FirstName"]

每行文本中的字符数,指定为正整数。使用此参数指定每行的最大字符宽度。如果 numchar 超过 txt 中的字符数,则文本不会换行。

输出参数

全部折叠

换行文本,以字符向量元胞数组形式返回。要在指定的 UI 控件上显示文本,必须将 wrappedtext 赋给该 UI 控件的 String 属性。

为 UI 控件推荐的位置,以 [left bottom width height] 形式的四元素向量返回。单位与 UI 控件的单位相同。返回的位置优化 uicontrol 的宽度和高度,以便指定的文本可以跨多行显示而不需要裁剪。如果未指定 UI 控件,则位置向量包含的元素全部为零。

版本历史记录

在 R2006a 之前推出

另请参阅

|