Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

uistack

对 UI 组件的视图堆叠重新排序

说明

示例

uistack(comp) 将指定的 UI 组件在 UI 组件的视图层叠顺序中向上移一层。如果 comp 是一个由 UI 组件组成的向量,uistack 会将该向量中的每个组件都向上移动一层。

示例

uistack(comp,moveto) 将 UI 组件移至层叠中的指定位置。例如,uistack(c,"top") 将组件 c 移至其层叠的顶部。

示例

uistack(comp,moveto,step) 指定向上或向下移动 UI 组件的步数。例如,uistack(c,"up",2)c 在其层叠中向上移动两层。

示例

全部折叠

创建一个 UI 图窗,其中包含一个按钮和一个仪表。由于先创建按钮后创建仪表,因此仪表会出现在顶层并覆盖按钮。

fig = uifigure;
btn = uibutton(fig,"Text","Go","Position",[148 148 25 25]);
g = uigauge(fig);

Figure contains objects of type uibutton, uigauge.

通过将按钮移至层叠的顶部,将按钮置于顶层。

uistack(btn,"top");

Figure contains objects of type uigauge, uibutton.

创建一个 UI 图窗,其中包含五个具有不同标题和背景颜色的重叠面板。

fig = uifigure;
a = uipanel(fig,"Title","A","BackgroundColor","white","Position",[200 200 170 150]);
b = uipanel(fig,"Title","B","BackgroundColor","cyan","Position",[100 170 170 150]);
c = uipanel(fig,"Title","C","BackgroundColor","green","Position",[50 90 170 150]);
d = uipanel(fig,"Title","D","BackgroundColor","yellow","Position",[140 140 170 150]);
e = uipanel(fig,"Title","E","BackgroundColor","magenta","Position",[170 110 170 150]);

Figure contains objects of type uipanel.

在 UI 图窗中列出子级。

fig.Children
ans = 
  5x1 Panel array:

  Panel    (E)
  Panel    (D)
  Panel    (C)
  Panel    (B)
  Panel    (A)

通过将面板 ac 在层叠中相对于当前位置上移一层,对面板重新排序。

comp = [a c];
uistack(comp)

Figure contains objects of type uipanel.

再次列出子级项。更改面板的层叠顺序也会更改 UI 图窗中子级项的顺序。

fig.Children
ans = 
  5x1 Panel array:

  Panel    (E)
  Panel    (C)
  Panel    (D)
  Panel    (A)
  Panel    (B)

创建一个 UI 图窗,它包含具有两个顶层节点的树,其中每个节点有两个子节点。

fig = uifigure;
t = uitree(fig,"Position",[20 20 150 150]);
category1 = uitreenode(t,"Text","Vegetables");
category2 = uitreenode(t,"Text","Fruits");
n1 = uitreenode(category1,"Text","Cucumber");
n2 = uitreenode(category1,"Text","Carrot");
n3 = uitreenode(category2,"Text","Apple");
n4 = uitreenode(category2,"Text","Banana");

Figure contains an object of type uitree.

展开树中的所有节点。

expand(t)

Figure contains an object of type uitree.

Fruits 节点移至层叠的顶部。该节点会相对于共享一个父节点的所有其他节点重新排序。以下命令将 Fruits 节点及其所有子节点移至 Vegetables 节点上方。

uistack(category2,"top")

Figure contains an object of type uitree.

重新排列 Fruits 节点的子节点。将 Apple 节点向下移动一层,移至 Banana 节点下方。

uistack(n3,"down",1)

Figure contains an object of type uitree.

创建一个包含选项卡组(其中包含五个选项卡)的 UI 图窗。

fig = uifigure;
tg = uitabgroup(fig,"Position",[20 20 450 300]);
t1 = uitab(tg,"Title","Survey Questions");
t2 = uitab(tg,"Title","Demographic");
t3 = uitab(tg,"Title","Participants");
t4 = uitab(tg,"Title","Data");
t5 = uitab(tg,"Title","Plot");

Figure contains an object of type uitabgroup.

Data 选项卡移至层叠的底部。该选项卡显示在最右侧。

uistack(t4,"bottom")

Figure contains an object of type uitabgroup.

Survey Questions 选项卡向右移动两层。

uistack(t1,"down",2)

Figure contains an object of type uitabgroup.

输入参数

全部折叠

要重新排序的 UI 组件,指定为单个对象或对象向量,例如 FigurePanelTabButtonTreeNode 对象。使用此参数指定要相对于共享同一父对象的其他对象重新排序的 UI 组件。

如果将 comp 指定为由 UI 组件组成的向量,则:

  • 向量中的每个组件必须共享一个父组件。

  • 向量必须为父容器的子容器的一个严格子集。例如,如果一个图窗有六个子级 UI 组件,则向量 comp 可以有不超过五个元素。

移动 UI 组件的位置,指定为下表中的值之一。

描述
"up"将 UI 组件向上移动 step 层(默认移动一层)。
"down"将 UI 组件向下移动 step 层(默认移动一层)。
"top"将 UI 组件移至其层叠的顶部。
"bottom"将 UI 组件移至其层叠的底部。

在堆叠中向上或向下移动 UI 组件的层数,指定为正整数。仅当 moveto 指定为 "up""down" 时,才使用此参数。

如果指定的层数大于可移动的层级数,则 UI 组件移至堆叠的顶部或底部。例如,如果您有五个层级并指定组件向下移动六层,则该组件移至堆叠的底部。

版本历史记录

在 R2006a 之前推出

全部展开