Это простейшая реализация, которую я мог придумать,
val m1 = Map(1 -> "1", 2 -> "2")
val m2 = Map(2 -> "21", 3 -> "3")
def merge[K, V](m1:Map[K, V], m2:Map[K, V]):Map[K, List[V]] =
(m1.keySet ++ m2.keySet) map { i => i -> (m1.get(i).toList ::: m2.get(i).toList) } toMap
merge(m1, m2) // Map(1 -> List(1), 2 -> List(2, 21), 3 -> List(3))
Если вы используете sendSubviewToBack:
sendSubviewToBack:
или подобное сообщение UIView
или подобное сообщение, то ваши кнопки, вероятно, вставлены в иерархию под UIImageView
. Когда представление перемещается по иерархии, все его подчиненные представления перемещаются вместе с ним.
Чтобы исправить это, вам нужно добавить свои элементы управления как подчиненные представления того же представления (возможно, UIWindow
), вы добавили UIImageView
в исходное значение.
Не видя вашего кода, очень трудно быть более точным.
Согласен. Не совсем уверен, что вы подразумеваете под «отправить на задний план», но вот предположение ...
Если вы настраиваете наслоение в основном виде, убедитесь, что вы не отправляете представление «на задний план» (изменение это слой), у которого есть количество подвидов ...