Main Content

uistack

UI コンポーネントの視覚的スタックの並べ替え

説明

uistack(comp) は、UI コンポーネントの視覚的な重なり順序において、指定されたコンポーネントを 1 レベル上にシフトします。comp が UI コンポーネントのベクトルの場合、uistack はベクトル内の各コンポーネントを 1 つ上にシフトします。

uistack(comp,moveto) は、UI コンポーネントをスタック内の指定された位置に移動します。たとえば、uistack(c,"top") はコンポーネント c をそのスタックの最上位に移動します。

uistack(comp,moveto,step) は、UI コンポーネントを上下に移動するステップ数を指定します。たとえば、uistack(c,"up",2)c をそのスタック内で 2 レベル上に移動します。

すべて折りたたむ

ボタンとゲージをもつ UI Figure を作成します。ゲージを 2 番目に作成しているため、ゲージが手前に表示されてボタンが隠れます。

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.

タイトルと背景色が異なる 5 つの重なり合うパネルを含む UI Figure を作成します。

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 Figure 内の子をリストします。

fig.Children
ans = 
  5x1 Panel array:

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

パネル ac をスタック内で現在の位置より 1 レベル上にシフトしてパネルを並べ替えます。

comp = [a c];
uistack(comp)

Figure contains objects of type uipanel.

子をもう一度リストします。パネルの重なり順序を変更すると、UI Figure 内の子の順序も変更されます。

fig.Children
ans = 
  5x1 Panel array:

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

2 つの最上位ノードにそれぞれ 2 つの子ノードがあるツリーを含む UI Figure を作成します。

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" ノードを 1 レベル下の "Banana" ノードの下に移動します。

uistack(n3,"down",1)

Figure contains an object of type uitree.

5 つのタブをもつタブ グループを含む UI Figure を作成します。

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" タブを 2 レベル右に移動します。

uistack(t1,"down",2)

Figure contains an object of type uitabgroup.

入力引数

すべて折りたたむ

並べ替え対象の UI コンポーネント。FigurePanelTabButtonTreeNode などの単一のオブジェクト、またはオブジェクトのベクトルとして指定します。この引数を使用して、同じ親を共有する他のオブジェクトとの間で並べ替える UI コンポーネントを指定します。

comp が UI コンポーネントのベクトルとして指定されている場合、次のようになります。

  • ベクトル内の各コンポーネントは親を共有しなければなりません。

  • ベクトルは親コンテナーの子の厳密なサブセットでなければなりません。たとえば、Figure に 6 つの子 UI コンポーネントがある場合、ベクトル comp は 5 要素を超えることができません。

UI コンポーネントの移動先。次の表の値のいずれかとして指定します。

説明
"up"UI コンポーネントを step のレベル (既定では 1 レベル) だけ上に移動します。
"down"UI コンポーネントを step のレベル (既定では 1 レベル) だけ下に移動します。
"top"UI コンポーネントをそのスタックの最上位に移動します。
"bottom"UI コンポーネントをそのスタックの最下位に移動します。

スタック内で UI コンポーネントを上下にシフトさせるレベル数。正の整数として指定します。この引数は、moveto"up" または "down" として指定する場合にのみ使用します。

移動に利用できるスタック レベルの数より大きいステップ数を指定した場合、UI コンポーネントはスタックの最上位または最下位に移動します。たとえば、5 つのスタック レベルがあり、コンポーネントが下に 6 ステップ移動するよう指定した場合、そのコンポーネントはスタックの最下位に移動します。

バージョン履歴

R2006a より前に導入

すべて展開する