[IOS]退出后文本框扔保持输入内容

用户在文本框中输入一些内容,应用程序退出并且终止,当用户再次进来的时候,文本框中还会保持原来输

入的内容。

Interface BuilderScene中选中View Controller,打开右边的标识检查器 ,设Restoration ID(恢复标识)为viewController

恢复标识是iOS 为了实现UI状态保持和恢复添加的设置项目。我们还需要在应用程序委托对象AppDelegate代 码部分做一些修改,添加的代码如下:

-(BOOL)application:(UIApplication *)application shouldSaveApplicationState:(NSCoder *)coder{
    //allow to save UI state when app exit
    return YES;
}

-(BOOL)application:(UIApplication *)application shouldRestoreApplicationState:(NSCoder *)coder{
    //allow to restore UI state when app run
    return YES;
}

-(void)application:(UIApplication *)application willEncodeRestorableStateWithCoder:(NSCoder *)coder{
    //save UI data and state
    //save simple data
    [coder encodeFloat:2.0 forKey:@"Version"];
}

-(void)application:(UIApplication *)application didDecodeRestorableStateWithCoder:(NSCoder *)coder{
    //use when restore
    //restore data last time save
    float lastVer = [coder decodeFloatForKey:@"Version"];
    NSLog(@"last Ver = %f",lastVer);
}

 

想要实现具体界面中控件的保持和恢复,还需要在它的视图控制器中添加一些代码。我们在 ViewController.m 中添加的代码如下:
{
        [super encodeRestorableStateWithCoder:coder];
        [coder encodeObject:self.txtField.text forKey:kSaveKey];
    }
    -(void)decodeRestorableStateWithCoder:(NSCoder *)coder
    {
        [super decodeRestorableStateWithCoder:coder];
        self.txtField.text = [coder decodeObjectForKey:kSaveKey];
    }
 

猜你喜欢

转载自jameskaron.iteye.com/blog/2312206