Добавление подпредставлений программно или добавление их в InterfaceBuilder - PullRequest
0 голосов
/ 31 марта 2011

У меня вопрос новичка.

Мне было интересно узнать уровень подпредставлений и как их определить. Попробуйте добавить одну кнопку в IB (sampleButton), а затем создать подпредставление программно, например, так:

[view insertSubview:aView atIndex:[view.subviews count]];

, что просто эквивалентно:

[view addSubview:aView];

Теперь, в обоих случаях, мой индекс (который называется z, верно?) Должен быть 1, если я не ошибаюсь.

У меня есть одна кнопка, добавленная к моему представлению в IB, которая должна иметь индекс 0 (z = 0, или они начинаются с одной?). Затем, если я сделаю подсчет view.subviews, это даст мне номер 1, так как у меня есть 1 объект с индексом 0. Таким образом, мое новое подпредставление 'aView' будет размещено с индексом = 1, который находится всего на один уровень выше моего sampleButton. .

Пока все хорошо. Но что, если я не хочу, чтобы все было так? Что если бы я хотел быть кнопкой sampleButton на более высоком уровне (например, 1) и моим aView на самом низком уровне (например, 0)? Могу ли я просто сделать это:

[view insertSubview:aView atIndex:0];

Будет ли это просто заботиться о моей кнопке, созданной в IB, переместив ее на другой слой, или мне придется сказать IB, что sampleButton не должен быть при z = 0?

1 Ответ

1 голос
/ 31 марта 2011

Он ведет себя так, как вы уже догадались: если вы вставляете подпредставление с индексом 0, оно «ниже» всех остальных подпредставлений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...