2015-10-08 2 views
2

Обычно разработчики пытаются перенести subview на передний план. Напротив, как можно довести контроль до фронта?как можно перенести супервизор на передний план?

Я ищу обратную сторону от bringSubviewToFront(_:). Это должно выглядеть так: bringSuperviewToFront(_:)

+1

любезно добавьте несколько скриншотов, было бы легче понять, чего вы хотите достичь – Usama

+0

Я редактировал вопрос. Похоже, много информации впутывает – brumbrum

+2

Перед чем? Потому что, как правило, разработчики пытаются привнести subviews перед _other_ subviews, которые совместно используют общий родительский ... – Alladinian

ответ

2

Я ищу обратную сторону bringSubviewToFront (:). Это должно выглядеть как bringSuperviewToFront ( :)

Это не существует. Вместо того, чтобы придать вашей поднаблюдке, сделайте как подвью, так и подпункты кнопок какого-либо контейнера. Затем вы можете настроить их относительные позиции z в соответствии с вашими задачами.

0

В духе быть менее грубым.

func bringSubviewToFront(view: UIView) { 
    let superview = view.superview 
    superview?.addSubview(view) 
} 

Это принесет его на фронт. Как и в:

bringSubviewToFront(mySubview) 

Вышеприведенный код делает отрывать взгляд от везде, где он находится в иерархии своего SuperView и приклеить ее к вершине всех подвидов. Это приводит к тому, чтобы вытащить его на передний план, как вы хотите. Если представление не является частью иерархии, то функция ничего не делает.

+1

В духе «похоже, что [sic] много информации в замешательстве», я решил не говорить вам, почему это работает. –

+0

Прошу прощения. Я не хотел быть грубым. – brumbrum

+0

Там вы идете, я округлил свой ответ и добавил объяснение. –

2

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

Это хорошо работает с подменю, потому что обычно вы хотите отображать/скрывать объекты в одном и том же родительском представлении на основе их положения слоя!

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