有没有办法找出在 XIB 中使用的图像代号,例如按钮的背景?
假设我有带有按钮的xib,其属性背景(对于状态配置:默认)设置为“button.png”,按钮有一个IBOutlet,例如myButton。当我的视图是从 xib 创建时,我可以通过以下方式轻松访问图像:[myButton backgroundImageForState:UIControlStateNormal] 但它当然是 UIImage,但我需要找到在 xib 中使用的图像名称(“button.png”)。
我试图继承 UIButton 并在 initWithCoder:(NSCoder *)aDecoder 中找到带有 NSCoder 的东西,但没有结果
定义按钮背景的 xib 的一部分是
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">button.png</string>
</object>
正在尝试类似的东西:
NSObject * obj = [aDecoder decodeObjectForKey:@"IBUINormalBackgroundImage"];
但不起作用(从笔尖初始化时如何使用 NSCoder?)
也试图覆盖
-(void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state{
[super setBackgroundImage:image forState:state];
}
但是永远不会被调用,但是在 awakeFromNib 中,everyting 已经被初始化并加载了。
任何人都可以解释/帮助吗?