zoukankan      html  css  js  c++  java
  • 应用设置及用户默认设置

    1.设置捆绑包

    分组

    文本框设置

    安全文本框设置

    多值字段

    拨动开关设置

    滑动条设置

    子设置视图(more)

    2.读取应用中得设置

     1 - (void)viewDidAppear:(BOOL)animated
     2 {
     3     [super viewDidAppear:animated];
     4     [self refreshFields];
     5 }
     6 - (void)refreshFields
     7 {
     8     NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
     9     self.officerLabel.text = [defaults objectForKey:kOfficerKey];
    10     self.authorizationCodeLabel.text = [defaults objectForKey:kAuthorizationCodeKey];
    11     self.rankLabel.text = [defaults objectForKey:kRankKey];
    12     self.warpDriveLabel.text = [defaults boolForKey:kWarpDriverKey] ? @"Engaged" : @"Disabled";
    13     self.warpFactorLabel.text = [[defaults objectForKey:kWarpFactorKey] stringValue];
    14     self.favoriteTeaLabel.text = [defaults objectForKey:kFavoriteTeaKey];
    15     self.favoriteCaptainLabel.text = [defaults objectForKey:kFavoriteCaptainKey];
    16     self.favoriteGadgetLabel.text = [defaults objectForKey:kFavoriteGadgetKey];
    17     self.favoriteAlienLabel.text = [defaults objectForKey:kFavoriteAlienKey];
    18 }
    19 
    20 - (void)flipsideViewControllerDidFinish:(FMFlipsideViewController *)controller
    21 {
    22     //返回翻转时,加载一次.
    23     [self refreshFields];
    24     [self dismissViewControllerAnimated:YES completion:nil];
    25 }
    View Code

    3.应用中修改默认设置

     1 - (void)viewDidLoad
     2 {
     3     [super viewDidLoad];
     4     [self refreshFields];
     5 }
     6 - (void)refreshFields
     7 {
     8     NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
     9     self.engineSwitch.on = [defaults boolForKey:kWarpDriverKey];
    10     self.warpFactorSlider.value = [defaults floatForKey:kWarpFactorKey];
    11 }
    12 - (IBAction)engineSwitchTapped
    13 {
    14     NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
    15     [defaults setBool:self.engineSwitch.on forKey:kWarpDriverKey];
    16     [defaults synchronize];
    17 }
    18 - (IBAction)warpSliderTouched
    19 {
    20     NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
    21     [defaults setFloat:self.warpFactorSlider.value forKey:kWarpFactorKey];
    22     [defaults synchronize];
    23 }
    View Code

    4.注册默认值(应用不知道设置捆绑包中得默认值)

    1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    2 {
    3     NSDictionary * defaults = @{kWarpDriverKey : @YES,
    4                                 kWarpFactorKey : @5,
    5                                 kFavoriteAlienKey : @"Vulcan"};
    6     [[NSUserDefaults standardUserDefaults] registerDefaults:defaults];
    7     
    8     return YES;
    9 }
    View Code

    5.保证设置有效

     1 - (void)viewWillAppear:(BOOL)animated
     2 {
     3     [super viewWillAppear:animated];
     4     UIApplication * app = [UIApplication sharedApplication];
     5     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillEnterForeground:) name:UIApplicationWillEnterForegroundNotification object:app];
     6 }
     7 - (void)viewDidDisappear:(BOOL)animated
     8 {
     9     [super viewDidDisappear:animated];
    10     [[NSNotificationCenter defaultCenter] removeObserver:self];
    11 }
    12 - (void)applicationWillEnterForeground:(NSNotification *)notification
    13 {
    14     NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
    15     [defaults synchronize];
    16     [self refreshFields];
    17 }
    View Code
  • 相关阅读:
    HDU 3681 Prison Break 越狱(状压DP,变形)
    POJ 2411 Mondriaan's Dream (状压DP,骨牌覆盖,经典)
    ZOJ 3471 Most Powerful (状压DP,经典)
    POJ 2288 Islands and Bridges (状压DP,变形)
    HDU 3001 Travelling (状压DP,3进制)
    POJ 3311 Hie with the Pie (状压DP)
    POJ 1185 炮兵阵地 (状压DP,轮廓线DP)
    FZU 2204 7
    POJ 3254 Corn Fields (状压DP,轮廓线DP)
    ZOJ 3494 BCD Code (数位DP,AC自动机)
  • 原文地址:https://www.cnblogs.com/fengmin/p/4664644.html
Copyright © 2011-2022 走看看