Swift - сохранить порядок расположения просмотров - PullRequest
0 голосов
/ 14 декабря 2018

Я использовал view.addSubview(imageView), чтобы добавить два UIimageview на UIview.Как мне сохранить порядок их наложения и воспроизвести их в точном порядке?Какие-либо предложения?Я хочу хранить информацию о порядке размещения в базе данных.

Ответы [ 3 ]

0 голосов
/ 14 декабря 2018

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

view.subviews

0 голосов
/ 14 декабря 2018

Вот как вы можете сделать это с помощью подхода, упомянутого в других ответах (используя подпредставления родителя),

if let indexOfImageView = view.subviews.firstIndex(where: {$0 === imageView})) {
    // Save index of image view
}
0 голосов
/ 14 декабря 2018

Из Apple Doc,

Это свойство можно использовать для получения подпредставлений, связанных с вашими иерархиями пользовательских представлений.Порядок подпредставлений в массиве отражает их видимый порядок на экране, причем представление с индексом 0 является самым задним представлением.

Для сложных представлений, объявленных в UIKit и других системных средах, любые подпредставленияПросмотр, как правило, считается частным и может быть изменен в любое время.Следовательно, вы не должны пытаться получить или изменить подпредставления для этих типов представленных системой представлений.В противном случае ваш код может сломаться во время будущего обновления системы.

Ссылка: https://developer.apple.com/documentation/uikit/uiview/1622614-subviews

...