Я хочу восстановить свое состояние просмотра, и мое представление имеет UIPickerView
.
UIPickerView
выглядит как графические компоненты, а именно фоновое изображение колеса. Я знаю, что UIImage
не может быть заархивирован. Что-нибудь с изображением, например UIImageView
, вы должны сначала установить изображение на nil
, прежде чем сможете его кодировать.
Тем не менее, UIPickerView
есть NSCoding
соответствует. Это означает, что encodeObject
и decodeObject
должны работать.
Хотя они этого не делают. Я имею в виду, они не вызывают никаких ошибок. Но после декодирования вы получите UIPickerView
без каких-либо изображений. Это не выглядит хорошо!
Вот снимок до и после, чтобы доказать, что я не схожу с ума:
До
* После 1029 *
Теперь я знаю, что мог бы просто сохранить текущий выбор пользователя и воссоздать представление, вызвав метод selectRow
средства выбора. Но на самом деле мне любопытно. Почему UIPickerView
NSCoding
соответствует, если это не так, и вы не можете ничего сделать, чтобы вернуть фоновое изображение колеса?