1.首先创建项目,在视图界面加入一个label,一个Txt控件:
2.注意标明恢复ID:
3.在视图控制器的head文件中加入属性设置和宏定义:
#import <UIKit/UIKit.h>
#define kSaveKey @"savekey"
@interface ViewController : UIViewController
@property (nonatomic,weak) IBOutlet UITextField *txtField;
@end4.在视图控制器的m文件中加入恢复和保持方法:
-(void)encodeRestorableStateWithCoder:(NSCoder *)coder
{
[super encodeRestorableStateWithCoder:coder];
[coder encodeObject:self.txtField.text forKey:kSaveKey];
}
-(void)decodeRestorableStateWithCoder:(NSCoder *)coder
{
[super decodeRestorableStateWithCoder:coder];
self.txtField.text = [coder decodeObjectForKey:kSaveKey];
}
-(BOOL) application:(UIApplication *)application shouldSaveApplicationState:(NSCoder *)coder
{
return YES;
}
-(BOOL) application:(UIApplication *)application shouldRestoreApplicationState:(NSCoder *)coder
{
return YES;
}
- (void)application:(UIApplication *)application willEncodeRestorableStateWithCoder:(NSCoder *)coder
{
[coder encodeFloat:2.0 forKey:@"Version"];
}
- (void)application:(UIApplication *)application didDecodeRestorableStateWithCoder:(NSCoder *)coder
{
float lastVer = [coder decodeFloatForKey:@"Version"];
NSLog(@"lastVer = %f",lastVer);
}最后不要忘记把txt控件和新定义的属性进行关联,关联完成后,UI状态恢复和保持就已经处理好了。
这篇博客详细介绍了如何在iOS应用中实现UI状态的保持与恢复,从创建项目开始,通过添加UILabel和UITextField控件,然后设置恢复ID,再到在ViewController中设置属性和宏定义,一步步揭示了状态恢复的关键步骤。

344

被折叠的 条评论
为什么被折叠?



