uistack
UI コンポーネントの視覚的スタックの並べ替え
説明
uistack(
は、UI コンポーネントの視覚的な重なり順序において、指定されたコンポーネントを 1 レベル上にシフトします。comp
)comp
が UI コンポーネントのベクトルの場合、uistack
はベクトル内の各コンポーネントを 1 つ上にシフトします。
例
ボタンを手前に表示
ボタンとゲージをもつ UI Figure を作成します。ゲージを 2 番目に作成しているため、ゲージが手前に表示されてボタンが隠れます。
fig = uifigure; btn = uibutton(fig,"Text","Go","Position",[148 148 25 25]); g = uigauge(fig);
ボタンをスタックの最上位に移動して手前に表示します。
uistack(btn,"top");
前から後ろへのパネルの順序の変更
タイトルと背景色が異なる 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]);
UI Figure 内の子をリストします。
fig.Children
ans = 5x1 Panel array: Panel (E) Panel (D) Panel (C) Panel (B) Panel (A)
パネル a
と c
をスタック内で現在の位置より 1 レベル上にシフトしてパネルを並べ替えます。
comp = [a c]; uistack(comp)
子をもう一度リストします。パネルの重なり順序を変更すると、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");
ツリー内のすべてのノードを展開します。
expand(t)
"Fruits" ノードをスタックの最上位に移動します。ノードは親を共有する他のすべてのノードとの間で並べ替えられます。このコマンドでは、"Fruits" ノードとそのすべての子ノードが "Vegetables" ノードの上に移動します。
uistack(category2,"top")
"Fruits" ノードの子ノードを並べ替えます。"Apple" ノードを 1 レベル下の "Banana" ノードの下に移動します。
uistack(n3,"down",1)
タブ グループ内のタブの並べ替え
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");
"Data" タブをスタックの最下位に移動します。このタブが一番右に表示されます。
uistack(t4,"bottom")
"Survey Questions" タブを 2 レベル右に移動します。
uistack(t1,"down",2)
入力引数
comp
— UI コンポーネント
単一のオブジェクト | オブジェクトのベクトル
並べ替え対象の UI コンポーネント。Figure
、Panel
、Tab
、Button
、TreeNode
などの単一のオブジェクト、またはオブジェクトのベクトルとして指定します。この引数を使用して、同じ親を共有する他のオブジェクトとの間で並べ替える UI コンポーネントを指定します。
comp
が UI コンポーネントのベクトルとして指定されている場合、次のようになります。
ベクトル内の各コンポーネントは親を共有しなければなりません。
ベクトルは親コンテナーの子の厳密なサブセットでなければなりません。たとえば、Figure に 6 つの子 UI コンポーネントがある場合、ベクトル
comp
は 5 要素を超えることができません。
moveto
— 位置
"up"
(既定値) | "down"
| "top"
| "bottom"
UI コンポーネントの移動先。次の表の値のいずれかとして指定します。
値 | 説明 |
---|---|
"up" | UI コンポーネントを step のレベル (既定では 1 レベル) だけ上に移動します。 |
"down" | UI コンポーネントを step のレベル (既定では 1 レベル) だけ下に移動します。 |
"top" | UI コンポーネントをそのスタックの最上位に移動します。 |
"bottom" | UI コンポーネントをそのスタックの最下位に移動します。 |
step
— シフトさせるレベル数
1 (既定値) | 正の整数
スタック内で UI コンポーネントを上下にシフトさせるレベル数。正の整数として指定します。この引数は、moveto
を "up"
または "down"
として指定する場合にのみ使用します。
移動に利用できるスタック レベルの数より大きいステップ数を指定した場合、UI コンポーネントはスタックの最上位または最下位に移動します。たとえば、5 つのスタック レベルがあり、コンポーネントが下に 6 ステップ移動するよう指定した場合、そのコンポーネントはスタックの最下位に移動します。
バージョン履歴
R2006a より前に導入R2023a: UI Figure での UI コンポーネントの重なり順序の変更
関数 uifigure
を使用して作成された Figure 内の UI コンポーネントおよびコンテナーの重なり順序を変更できるようになりました。以前は、uistack
では、関数 figure
を使用して作成された Figure 内の UI コンポーネントのみをサポートしていました。
R2023a: メニュー、ツール バー、プッシュ ツール、およびトグル ツールのスタック動作が異なる
メニュー、ツール バー、プッシュ ツール、およびトグル ツールの重なり順序を変更した場合の動作が以前のリリースと異なります。たとえば、R2023a 以降では、uistack(comp,"up")
を呼び出すと以下の動作になります。
メニュー項目の親が Figure — メニュー項目はメニュー バーで 1 つ左の場所に移動します。以前は、メニュー項目は 1 つ右の場所に移動していました。
メニュー項目の親がコンテキスト メニュー — メニュー項目はコンテキスト メニューで 1 つ上の場所に移動します。以前は、メニュー項目は 1 つ下の場所に移動していました。
ツール バー — ツール バーは Figure のツール バーのコレクション内で 1 つ上の場所に移動します。以前は、ツール バーは 1 つ下の場所に移動していました。
プッシュ ツールおよびトグル ツール — プッシュ ツールまたはトグル ツールはツール バーで 1 つ左の場所に移動します。以前は、プッシュ ツールまたはトグル ツールは 1 つ右の場所に移動していました。
コードで uistack
を使用してメニュー、ツール バー、プッシュ ツール、またはトグル ツールの重なり順序を変更している場合、以前の動作を維持するには、コードを以下のように更新します。
R2022b 以前での元のコード | R2023a での更新後のコード |
---|---|
uistack(comp,"top") | uistack(comp,"bottom") |
uistack(comp,"up",step) | uistack(comp,"down",step) |
uistack(comp,"bottom") | uistack(comp,"top") |
uistack(comp,"down",step) | uistack(comp,"up",step) |
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)