日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS开发那些事--iOS6 UI状态保持和恢复

發布時間:2025/7/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS开发那些事--iOS6 UI状态保持和恢复 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

iOS設計規范中要求,當應用退出的時候(包括被終止運行時候),畫面中UI元素狀態需要保持的,當再次進來的時候看狀態與退出是一樣的。iOS6之后蘋果提供以下API使得UI狀態保持和恢復變得很容易了。

在iOS6中我們可以在3地方實現狀態保持和恢復:

應用程序委托對象

視圖控制器

自定義視圖

為了演示這個功能實現,我們把基于故事板的HelloWorld工程改造一下,在畫面中添加一個文本框

用戶在文本框中輸入一些內容,應用程序退出并且終止后再次進來的時候,文本框中還會保持原來輸入的內容。然后在IB的Scene中選中View Controller,打開右邊的標識檢查器,設置Restoration ID(恢復標識)為viewController。

?

恢復標識是iOS6為了實現UI狀態保持和恢復添加的設置項目。我們還需要在應用程序委托對象AppDelegate代碼部分做一些修改,添加的代碼如下:

?

  • -(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);?
  • ?
  • }?
  • 其中application:shouldSaveApplicationState:在應用退出的時候調用,負責控制是否允許保存狀態,返回YES情況是可以保存,NO是不保存。

    application:shouldRestoreApplicationState:是應用啟動時候調用,負責控制是否恢復上次退出的時候的狀態,返回YES情況是可以恢復,NO是不恢復。

    application:willEncodeRestorableStateWithCoder:方法是保存時候調用,在這個方法中實現UI狀態或數據的保存,其中[coder encodeFloat:2.0 forKey:@"Version"]是保存簡單數據。

    application:didDecodeRestorableStateWithCoder:方法是恢復時候調用,在這個方法中實現UI狀態或數據的恢復,其中[coder decodeFloatForKey:@"Version"]語句是恢復上次保存的數據。

    要想實現具體畫面中控件的保持和恢復,還需要在它視圖控制器中添加一些代碼,ViewController.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];?
  • ?
  • }?
  • 在iOS6之后視圖控制器都添加了兩個:encodeRestorableStateWithCoder:和 decodeRestorableStateWithCoder:用來實現該控制器中的控件或數據的保存和恢復。其中 encodeRestorableStateWithCoder: 方法是在保存時候調用,[coder encodeObject:self.txtField.text forKey:kSaveKey]語句是按照指定的鍵保存文本框的內容,decodeRestorableStateWithCoder:方法是在恢復時 候調用,[coder decodeObjectForKey:kSaveKey]是恢復文本框內容時候調用,保存和恢復事實上就是向一個歸檔文件中編碼和解碼的過程。

    總結

    以上是生活随笔為你收集整理的iOS开发那些事--iOS6 UI状态保持和恢复的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 90岁肥老奶奶毛毛外套 | 蜜桃aaa| 黄色a视频 | 二区三区 | 亚洲精品一区二区三区中文字幕 | 国产精品伦一区二区三级视频 | 亚洲av色区一区二区三区 | 久久爱伊人 | 毛片免费在线观看视频 | 国产男女猛烈无遮挡免费视频 | 香蕉91视频 | 亚洲一区二区三区观看 | 欧美福利视频一区二区 | 日韩av一卡二卡 | 神马福利视频 | 九九色| 精品久久影院 | 国产videos| 亚洲美女性生活 | 国产草草浮力影院 | 在线a级| av在线.com| 天堂在线中文在线 | 99色精品 | 麻豆视频网 | 虫族全黄h全肉污文 | 国产一区二区四区 | 伊伊综合网 | 综合久久五月天 | 俄罗斯乱妇 | 欧美一级二级三级视频 | 人操人 | 在线无码va中文字幕无码 | 中文字幕亚洲乱码熟女一区二区 | 久久久久性 | 女人张开腿让男人桶爽 | 怡红院男人天堂 | 色黄啪啪网 | 国产精品久久久久久久 | 在线视频日韩欧美 | 成人黄网免费观看视频 | 日韩精品电影一区二区 | 久久久国产精品一区 | 黄色片免费在线观看 | 色姑娘av| 玉丸(双性调教) | 日韩欧美激情 | 手机看片国产精品 | 女性向小h片资源在线观看 日本天天操 | 精品国产无码AV | 日本在线精品视频 | 国产精品入口麻豆九色 | 亚洲女同女同女同女同女同69 | 国产精品九一 | 久久国产精品国产精品 | 美女久久久久 | 天天做夜夜爽 | 久久女女| 九九热av| 久久日本精品字幕区二区 | 欧洲女同同性吃奶 | 九九精品影院 | 欧美精品免费视频 | 在线不欧美 | 青青青免费在线 | 久久久久97国产 | 久久亚洲私人国产精品va | 国产chinese男男网站大全 | 精品视频专区 | 国产精自产拍久久久久久蜜 | 久久久久99人妻一区二区三区 | 久久久视频在线 | 快播视频在线观看 | 狠狠干网址| 久久久.www | 国产精品suv一区二区 | av无码精品一区二区三区宅噜噜 | 在线观看黄色免费网站 | 精品无码在线视频 | 91色偷偷 | 男女视频免费 | 欧美69av | 国产亚洲女人久久久久毛片 | 色婷婷香蕉在线一区二区 | 久久精品人妻一区二区 | 国内精品久久久久久久久久 | 亚洲乱亚洲乱 | 黄三级| a级在线观看网站 | 国产精品一区二区三区免费在线观看 | 天天爽天天爱 | 中文字幕亚洲一区 | 北条麻妃一区二区三区四区五区 | 钰慧的mv视频在线观看 | 欧美一区二区三区公司 | 日本精品人妻无码免费大全 | 先锋影音av在线资源 | 日韩不卡 | 成人一级视频在线观看 |