我曾尝试使用encodeWithCoder:保存UIButton的状态
- (void)encodeWithCoder:(NSCoder *)encoder
{
[coder encodeObject:self.button1 forKey:@"button1"];
}我的initWithCoder:看起来像这样:
-(void) initWithCoder:(NSCoder*)decoder
{
self.button1 = [coder decodeObjectForKey:@"button1"];
}我可以用button1保存颜色、方向、角度等的状态。我可以用initwithCoder;恢复它,但当我点击按钮时,它没有反应。外观已恢复,但不再调用IBAction。
发布于 2012-09-10 10:00:31
如果您手动创建/恢复按钮,那么您将取消InterfaceBuilder/NIB加载为您执行的自动设置。
您将需要显式地将目标操作添加到按钮。您的示例代码中还存在一些语法错误。
-(void) initWithCoder:(NSCoder*)decoder
{
self.button1 = [coder decodeObjectForKey:@"button1"];
[self.button1 addTarget:self action:@selector(yourIBActionMethod:) forControlEvents:UIControlEventTouchUpInside];
}https://stackoverflow.com/questions/12344546
复制相似问题