2012-01-26 3 views
1

У меня возникли проблемы с пониманием того, как выполняется расслоение в Xcode. У меня есть .xib с представлением, у этого вида есть 6 UIImageView, каждый из которых содержит другое изображение. Я создал IBOutlets для каждого из них, поэтому я могу изменить изображение во время выполнения.Заказ слоя UIImageView

Теперь я хочу изменить порядок отображения рисунков UIImageView во время выполнения, поэтому imageA на обратной стороне теперь нарисовано поверх всего остального. Как изменить порядок слоев? Я изначально попытался удалить все подпункты и использовать [self.view insertSubview: atIndex: ], чтобы узнать, могу ли я изменить порядок розыгрыша таким образом, но мой код сработает.

Может ли кто-нибудь сказать мне правильный метод для этого, пожалуйста?

Благодаря передовой, Elliott

ответ

3

я предполагаю, что вы ищете эти методы UIView:

1: exchangeSubviewAtIndex: withSubviewAtIndex: обменивает подвиды в указанных индексах.

- (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2 

2: bringSubviewToFront: перемещает указанный подвид, так что он появляется на вершине своих братьев и сестер.

- (void)bringSubviewToFront:(UIView *)view 

3: sendSubviewToBack: перемещает указанный подвид, так что она появляется за своими братьями и сестрами.

- (void)sendSubviewToBack:(UIView *)view 

с этими методами вы можете поменять порядок подвидов, чтобы получить один UIView появляется друг над другим в их надтаблице ... если это то, что вы спрашивали ....

+0

Отличное спасибо! Я буду изучать эти методы завтра, поскольку они выглядят так, как я и ищу. –

+0

Ницца. Я никогда не искал пару принести/отправить. Мне показалось, что я должен был сделать это вручную. – smparkes

+0

Да, это сработало как очарование ta! –

1

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

Если вы просто хотите обменять два вида, см. - (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2 на UIView. Если вы хотите сделать более сложный обмен, вы можете удалить и прочитать, просто убедитесь, что вы сохранили удаляемое представление (несмотря на ARC).

+0

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

Смежные вопросы