Make UIAxes invisible/visible when stacked in App desginer..
조회 수: 21 (최근 30일)
이전 댓글 표시
I'm using App designer to desing an app.. I have a couple of UIAxes stacked above each other, and am trying to set ones I want to see to being visible and the others to not visible, using:
app.UIAxes.Visible = 'off';
Which works fine, but the UIAxes below remains hidden! For example if I have two axes overlapping only partially, and make the one 'on top' invisible, the one 'on top' goes, but the portion on the other axes which was hidden, remains hidden!!
Frustating problem, any solutions would be great!
채택된 답변
Adam Danz
2019년 10월 1일
편집: Adam Danz
2020년 9월 20일
Update: Starting in Matlab r2020b, change the stack order of UI components in App Designer using the reorder tool (see release notes).
----------------------------------------------------------------------------------------
Unfortunately uistack() is not functional with UIFigures (prior to r2020b). Here's a function you could embed in your app that will put an object on top of the UI stack. Add the function by opening the app in app designer, go to code view, select functions, and add the function by pressing the green "+" under the Code Browser. Then call the function any time an object needs to be moved to top. Unfortunately the app image will flicker during the restack as the objects are redrawn.
function uistackTop(~, appfig, obj)
% Place the UI object 'obj' on top of stack in the UIfigure 'appfig'
appHandles = appfig.Children; % list all handles in app
hIdx = find(appHandles==obj); % find index of obj in appHandles
% Create new index order of app handles
newOrder = [hIdx,setdiff(1:numel(appHandles),hIdx)];
% assign new stack order to app
appfig.Children = appHandles(newOrder);
Example:
appfig = app.myAppFig; % Handle to your App figure
obj = app.UIAxes2; % handle to the object that goes on top
uistackTop(app, appfig, obj)
댓글 수: 2
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Migrate GUIDE Apps에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!