2016-10-28 7 views
0

Язык: Swift, IDE: Xcode для разработки IOS, Single View Application> View Controller ...Принуждение UIImageView оставаться в передней части активной анимации

У меня 2 UIImage представлений с одинаковыми изображениями, которыми я прокручивать анимацию слева направо через представление, чтобы создать «медленно движущийся фон». Я хотел бы разместить другие элементы пользовательского интерфейса (ярлыки, другие изображения и т. Д.) На переднем плане этой повторяющейся фоновой анимации, но найти, когда я запускаю симулятор, изображение переднего плана не видно ...

Вопрос: Можно ли заставлять другие элементы пользовательского интерфейса оставаться во время повторной анимации программным путем?

Я не на своем Mac, поэтому я не могу разделить мой код на данный момент, но если вы знаете прямой ответ на вопрос и/или какой метод может достичь этого, я все уши!

Заранее благодарен! :)

+0

рад, что помог. Примите мой ответ ... приветствия – Joe

ответ

0

Если вы хотите использовать Z-индекс:

 YourImageViewName.layer.zPosition = 1 

Также вы можете играть с помощью метода BringToFront на родительском зрения:

 self.view.bringSubviewToFront(YourImageViewName) 

Надежда это исправить вашу проблему.

+0

Спасибо @ Джо, я попробую сегодня вечером. Нужно ли мне добавлять какие-либо фреймворки/библиотеки для доступа к функции z-order? По какой-то причине я думал, что он доступен только при работе со спрайтами (но я действительно новичок в программировании, так что я знаю ха-ха;) – Justin

+0

вам не нужно ничего импортировать .... zPosition подтолкнет ваше изображение на передний план. ... попробуйте и дайте мне знать .. спасибо – Joe

+0

Работали, как шарм, спасибо! Не уверен, что часть проблемы заключалась в том, что у меня было первое представление изображения, расположенное в - = self.view.bounds, так что, возможно, это выравнивает его правую сторону от просмотра до левых границ? Лол. Во всяком случае, это тоже изменилось, так что теперь это работает :) – Justin

1

Это зависит от z-порядка видов. Предполагая, что вы добавляете все свои представления, а затем запускаете анимационный вызов bringSubViewToFront на то, что вы анимируете прямо перед началом его анимации. Если вы прокладываете вещи в построителе интерфейса, порядок Z основан на верхнем = самом дальнем и нижнем = ближайшем. Если вы добавляете представление программно, то новое представление всегда добавляется спереди. Вы можете изменить это с помощью insertSubview:at: и связанных с ним методов. Взгляните на документацию для UIView.

+0

Спасибо, Джош, я дам ему гонку сегодня вечером. Я прокладываю вещи в построителе интерфейса и в фоновом режиме, который я добавил первым, так что технически это должно быть за всем ... Они также перечислены первыми в дереве браузера/файла. Он выглядит правильно в построителе интерфейсов, но в симуляторе исчезают передовые представления. Я думаю, что это больше проблема с анимационным представлением, имеющим визуальный приоритет. Но я обязательно попробую ваши программные предложения и прочитаю документацию. Благодаря! – Justin