我想恢复我的视图状态,我的视图有一个UIPickerView
.
UIPickerView
在我看来它具有图形组件,即背景轮图像。我知道UIImage
不能存档。任何带有图像的东西,例如UIImageView
,您必须先将图像设置为,nil
然后才能对其进行编码。
但是,UIPickerView
是NSCoding
合规的。这意味着encodeObject
并且decodeObject
应该起作用。
他们没有。我的意思是,它们不会导致任何错误。但解码后,你得到的UIPickerView
没有任何图像。看起来不太好!
这是之前和之后的镜头,只是为了证明我不会生气:
前
后
现在,我知道我可以简单地存储当前用户选择,并通过调用选择器的selectRow
方法重新创建视图。但实际上,我很好奇。UIPickerView
NSCoding
如果它不是真的而且你不能做任何进一步的事情来恢复背景轮图像,为什么它是合规的?