scroll

Прокрутите к местоположению в компоненте

Описание

Контейнер с возможностью прокрутки или группа кнопок

scroll(container,vlocation) прокручивает контейнер или группу кнопок вертикально. Задайте vlocation как 'top' или 'bottom'. Для получения дополнительной информации о том, когда прокрутка возможна, смотрите Условия, которые Позволяют Прокрутить.

scroll(container,hlocation) прокрутки горизонтально. Задайте hlocation как 'left' или 'right'.

scroll(container,hlocation,vlocation) прокрутки и вертикально и горизонтально к углу. Например, scroll(container,'right','bottom') прокрутки к нижнему правому углу компонента.

пример

scroll(container,x,y) прокрутки к заданному (x, y) координаты. Координаты измеряются в пикселях от нижнего левого угла контейнера или группы кнопок.

пример

scroll(container,coord) задает пиксельные координаты как двухэлементный векторный coord. Например, scroll(container,[100 150]) прокручивает контейнер или группу кнопок к координатам (100,150).

Текстовая область

пример

scroll(txa,vlocation) прокручивает текстовую область вертикально. Задайте vlocation как 'top' или 'bottom'.

Дерево

scroll(t,vlocation) прокручивает дерево вертикально. Задайте vlocation как 'top' или 'bottom'.

пример

scroll(t,treenode) прокрутки к заданному древовидному узлу.

Поле списка

scroll(lb,vlocation) прокручивает поле списка вертикально. Задайте vlocation как 'top' или 'bottom'.

пример

scroll(lb,item) прокрутки к заданному элементу поля списка.

scroll(lb,itemdata) прокрутки к элементу поля списка с заданными данными об элементе. Если существует несколько элементов с теми же данными об элементе, функциональными прокрутками к первой.

Таблица

scroll(uit,vlocation) прокручивает таблицу вертикально. Задайте vlocation как 'top' или 'bottom'.

scroll(uit,hlocation) прокручивает таблицу горизонтально. Задайте hlocation как 'left' или 'right'.

пример

scroll(uit,target,targetIndex) прокрутки к заданной строке, столбцу или ячейке таблицы. Например, scroll(uit,'Row',10) прокрутки к десятой строке таблицы.

Примеры

свернуть все

Прокрутите к заданному (x,y)- координаты в фигуре создали использование uifigure функция.

Создайте фигуру и установите Scrollable свойство к 'on'. Затем добавьте пять дочерних компонентов. Чтобы гарантировать, что фигура с возможностью прокрутки, поместите первый компонент выше верхнего края фигуры. Затем расположите компоненты с интервалами достаточно далеко независимо так, чтобы они не могли соответствовать в фигуре вместе.

% Create figure
fig = uifigure('Name','Customer','Scrollable','on');
fig.Position = [100 100 493 283];

% Title label
title = uilabel(fig,'Text','Customer Record');
title.FontSize = 18;
title.FontWeight = 'bold';
title.Position = [173 315 157 22];

% Name
name = uieditfield(fig,'text');
name.Position = [169 239 173 22];
namelabel = uilabel(fig,'Text','Name','HorizontalAlignment','right');
namelabel.Position = [116 239 38 22];

% Phone
phone = uieditfield(fig,'text');
phone.Position = [169 164 173 22];
phonelabel = uilabel(fig,'Text','Phone','HorizontalAlignment','right');
phonelabel.Position = [114 164 40 22];

% Balance
balance = uieditfield(fig,'numeric');
balance.Position = [169 89 173 22];
balancelabel = uilabel(fig,'Text','Balance','HorizontalAlignment','right');
balancelabel.Position = [105 89 49 22];

% Submit button
button = uibutton(fig,'push','Text','Submit');
button.Position = [169 14 173 22];

По умолчанию MATLAB® прокручивает к верхнему левому углу области, которая заключает дочерние компоненты.

Прокрутите к местоположению (1,1), который является нижней частью фигуры.

scroll(fig,1,1)

Принесите дочерние компоненты размещения сетки с возможностью прокрутки в представление путем определения пиксельных координат или имени местоположения.

Создайте 5 2 размещение сетки и установите Scrollable свойство сетки к 'on'. Затем добавьте метку, таблицу и панель к сетке. Установите Scrollable свойство панели к 'off' и затем добавьте график в панель.

fig = uifigure('Position',[782 497 435 311]);
g = uigridlayout(fig,'Scrollable','on');
g.RowHeight = {22,40,22,22,400};
g.ColumnWidth = {400,400};

lbl = uilabel(g,'Text','Tsunamis');
lbl.Layout.Row = 2;
lbl.Layout.Column = [1,2];
lbl.HorizontalAlignment = 'center';
lbl.FontSize = 28;

tsunamis = readtable('tsunamis.xlsx');
tsunamis.Cause = categorical(tsunamis.Cause);
t = uitable(g,'Data',tsunamis);
t.Layout.Row = [3,5];
t.Layout.Column = 2;

p = uipanel(g);
p.Scrollable = 'off';
p.Layout.Row = [3,5];
p.Layout.Column = 1;
gb = geobubble(p,tsunamis.Latitude,tsunamis.Longitude,...
    tsunamis.MaxHeight,tsunamis.Cause);

Прокрутите к местоположению в сетке.

scroll(g,100,-30)

Теперь используйте имена местоположения, чтобы прокрутить к нижнему правому углу сетки.

scroll(g,'bottom','right')

Принесите компонент в представление путем определения местоположения прокрутки как первых двух координат положения компонента, который вы хотите просмотреть.

Создайте фигуру с двумя выпадающими компонентами, полем списка и таблицей. Расположите компоненты так, чтобы они не могли все быть отображены в фигуре одновременно.

fig = uifigure;
fig.Scrollable = 'on';
fig.Position = [100 300 328 110];

dd1 = uidropdown(fig);
dd1.Position = [20 360 120 22];

dd2 = uidropdown(fig);
dd2.Position = [20 200 120 22];

lb = uilistbox(fig);
lb.Position = [230 300 120 80];

t = readtable('patients.xls');
uit = uitable(fig,'Data',t);
uit.Position = [375 100 300 300];

Прокрутите к таблице.

scroll(fig,uit.Position(1:2))

Прокрутите к нижней части текстовой области программно.

Создайте текстовую область. Задайте размер и длинный текст для него.

fig = uifigure;
txa = uitextarea(fig);
txa.Position = [100 100 80 80];
txa.Value = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.';

Прокрутите к нижней части текстовой области.

scroll(txa,'bottom')

Принесите элемент поля списка в представление путем определения элемента.

Создайте поле списка, содержащее список имен со связанным ItemsData.

fig = uifigure('Position',[680 678 300 200]);
list = uilistbox(fig, 'Position',[70 50, 150 78]);
list.Items = {'Diane Fitzsimmons', 'Naomi Becker', 'Nick Stewart',...
           'Alex Bradford', 'Caroline Eliot', 'Leslie Bond', ...
           'Aaron Silberlicht', 'Ramu Sadasiv', 'Joyce Wu',...
           'Ann Shanahan'};
list.ItemsData = [1 2 3 4 5 6 7 8 9 10];

Прокрутите к Caroline Eliot.

scroll(list,'Caroline Eliot')

Выберите Caroline Eliot путем установки Value свойство к соответствующему элементу в ItemsData свойство.

list.Value = 5;

Принесите древовидный узел в представление путем определения TreeNode объект.

Создайте дерево, содержащее четыре узла верхнего уровня, что у каждого есть дочерние узлы.

fig = uifigure;
tree = uitree(fig,'Position',[20 20 175 100]);
    
% First level nodes
category1 = uitreenode(tree,'Text','Runners');
category2 = uitreenode(tree,'Text','Cyclists');
category3 = uitreenode(tree,'Text','Hikers');
category4 = uitreenode(tree,'Text','Swimmers');

% Second level nodes
r1 = uitreenode(category1,'Text','Joe');
r2 = uitreenode(category1,'Text','Linda');
c1 = uitreenode(category2,'Text','Rajeev');
h1 = uitreenode(category3,'Text','Jack');
s1 = uitreenode(category4,'Text','Logan');

Расширьте узлы, так, чтобы Swimmers прокрутки из представления.

expand(tree)

Прокрутите к Swimmers узел.

scroll(tree,category4)

Выберите Swimmers узел путем установки SelectedNodes свойство Tree объект.

tree.SelectedNodes = category4;

Считайте демонстрационные данные о пациентах в рабочую область как табличный массив. Затем создайте компонент таблицы UI, чтобы отобразить данные.

tdata = readtable('patients.xls');
vars = {'Age','Systolic','Diastolic','Smoker'};
tdata = tdata(1:40,vars);

fig = uifigure;
uit = uitable(fig,'Data',tdata);
uit.RowName = 'numbered';

Прокрутите к двадцать пятой строке таблицы.

scroll(uit,'row',25)

Входные параметры

свернуть все

Контейнер с возможностью прокрутки или группа кнопок в виде фигуры, созданной с uifigure функция или любой из следующих компонентов в той фигуре: размещение сетки, панель, группа кнопок или вкладка.

Вертикальное местоположение прокрутки в виде 'top' или 'bottom'.

Горизонтальное местоположение прокрутки в виде 'left' или 'right'.

x - координирует в виде неотрицательного целого числа в пикселях от левого края контейнера. Контейнерные прокрутки, чтобы отобразить заданный x - координируют слева от видимой контейнерной области. Если заданное значение превышает область с возможностью прокрутки контейнера, контейнерные прокрутки, насколько это может в заданном направлении.

y - координирует в виде целого числа в пикселях от базового края контейнера. Контейнерные прокрутки, чтобы отобразить заданный y - координируют в нижней части видимой контейнерной области. Если заданное значение превышает область с возможностью прокрутки контейнера, контейнерные прокрутки, насколько это может в заданном направлении.

Если размещение сетки более высоко, чем его родительский контейнер, можно использовать отрицательный y - координаты, чтобы прокрутить к компонентам в сетке, которые лежат ниже базового края родительского контейнера.

Пиксель координирует в виде двухэлементного вектора-строки из целых чисел.

Пример: [100 150] указывает, что пиксель координирует (100,150).

Текстовая область в виде компонента, созданного с uitextarea функция.

Прокрутка в текстовой области поддерживается, начиная в R2020b.

Дерево в виде компонента, созданного с uitree функция. Этот компонент может быть или деревом со стилем по умолчанию или деревом флажка, созданным с uitree('checkbox').

Древовидный узел в виде компонента, созданного с uitreenode функция. Используйте этот аргумент, чтобы задать который древовидный узел прокрутить к.

Поле списка в виде компонента, созданного с uilistbox функция.

Элемент поля списка в виде элемента Items свойство lb. Функция прокручивает к заданному элементу в поле списка.

Данные об элементе поля списка в виде элемента поля списка ItemsData свойство lb. Функция прокручивает к элементу в поле списка со связанными данными об элементе. Если существует больше чем один такой элемент, функциональные прокрутки к первому.

Таблица в виде компонента, созданного с uitable функция.

Прокрутка в рамках таблицы поддерживается, начиная в R2021a и поддерживается только, когда компонент таблицы UI находится на рисунке, созданном с uifigure функция.

Табличная прокрутка предназначается в виде 'row', 'column', или 'cell'.

Табличная прокрутка предназначается для индекса в виде одного из перечисленных в таблице значений. Тип значения, которое можно задать, зависит от значения target.

ЦельПоддерживаемое значениеПримерРезультат
'row'Положительное целое число4Прокрутите вертикально к строке с соответствующим индексом строки.
'column'Положительное целое число3Прокрутите горизонтально к столбцу с соответствующим индексом столбца.
'cell'Двухэлементный вектор-строка из положительных целых чисел[5 9]Прокрутите к ячейке с соответствующими индексами строки и столбца.

Больше о

свернуть все

Условия, которые Позволяют Прокрутить

Позволить прокручивать в контейнере, Scrollable свойство контейнера должно быть установлено в 'on'. Кроме того, эти контейнерно-специфичные условия должны также быть верными:

Размещения сетки

  • Сумма значений задана для RowHeight свойство сетки должно быть больше, чем высота родительского контейнера.

  • Сумма значений задана для ColumnWidth свойство сетки должно быть больше, чем ширина родительского контейнера.

  • По крайней мере одна строка или столбец сетки должны быть установлены в фиксированную пиксельную высоту или ширину.

  • Сетка должна содержать компоненты.

Контейнеры кроме размещения сетки

  • Дочерние компоненты в контейнере должны занять большую область, чем контейнер может отобразиться одновременно.

  • Компоненты, которые не помещаются в контейнер, должны быть выше или справа от контейнера.

Введенный в R2016a