Как сделать копию UIView и сохранить accessibilityId программно? - PullRequest
0 голосов
/ 16 мая 2018

Я использую:

extension UIView {
    func copyView<T: UIView>() -> T {
        return NSKeyedUnarchiver.unarchiveObject(with: NSKeyedArchiver.archivedData(withRootObject: self)) as! T
    }
}

Но моя копия теряет идентификатор доступности.

copyView.accessibilityIdentifier == nil

Как сохранить это?

1 Ответ

0 голосов
/ 16 мая 2018

Это похоже на ошибку Apple. Вы действительно должны сообщить об этом на Apple Bug Reporter .

Тем не менее, вы можете обойти эту проблему следующим образом:

extension UIView {
    func copyView<T: UIView>() -> T {
        let copy = NSKeyedUnarchiver.unarchiveObject(with: NSKeyedArchiver.archivedData(withRootObject: self)) as! T
        copy.accessibilityIdentifier = accessibilityIdentifier
        return copy
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...