public partial class AppDelegate : UIApplicationDelegate { public AppDelegate () : base() { //---- set any user default values (they're not actually set until // the settings application is run for your app) NSUserDefaults.StandardUserDefaults.SetBool (true, "staySignedin"); NSUserDefaults.StandardUserDefaults.SetString ("blue", "favoriteColor"); //---- initialize our user settings, which loads them from the file (if they exist) NSUserDefaults.StandardUserDefaults.Init (); } // This method is invoked when the application has loaded its UI and its ready to run public override bool FinishedLaunching (UIApplication app, NSDictionary options) { // If you have defined a view, add it here: // window.AddSubview (navigationController.View); window.MakeKeyAndVisible (); //---- wire up keyboard dismissal and focus this.txtUsername.ShouldReturn += this.DismissKeyboard; this.txtPassword.ShouldReturn += this.DismissKeyboard; this.txtFavoriteBand.ShouldReturn += this.DismissKeyboard; //---- wire up our save button this.btnSaveSettings.TouchUpInside += BtnSaveSettingsTouchUpInside; //---- populate page from settings this.PopulateSettings (); return true; } /// <summary> /// Populates our page from settings /// </summary> protected void PopulateSettings () { //---- can access through typed calls: this.txtUsername.Text = NSUserDefaults.StandardUserDefaults.StringForKey ("username"); //---- can access the dictionary, but must check for null: if (NSUserDefaults.StandardUserDefaults["password"] != null) { this.txtPassword.Text = NSUserDefaults.StandardUserDefaults["password"].ToString (); } this.swtchStaySignedin.On = NSUserDefaults.StandardUserDefaults.BoolForKey ("staySignedin"); this.lblFavoriteColor.Text = NSUserDefaults.StandardUserDefaults.StringForKey ("favoriteColor"); this.lblFavoriteFood.Text = NSUserDefaults.StandardUserDefaults.StringForKey ("favoriteFood"); this.txtFavoriteBand.Text = NSUserDefaults.StandardUserDefaults.StringForKey ("favoriteBand"); } /// <summary> /// Saves our settings /// </summary> protected void BtnSaveSettingsTouchUpInside (object sender, EventArgs e) { NSUserDefaults.StandardUserDefaults.SetString (string.IsNullOrEmpty ( this.txtUsername.Text) ? "" : this.txtUsername.Text, "username"); NSUserDefaults.StandardUserDefaults.SetString (string.IsNullOrEmpty ( this.txtPassword.Text) ? "" : this.txtPassword.Text, "password"); NSUserDefaults.StandardUserDefaults.SetBool (this.swtchStaySignedin.On, "staySignedIn"); NSUserDefaults.StandardUserDefaults.SetString (string.IsNullOrEmpty( this.txtFavoriteBand.Text) ? "" : this.txtFavoriteBand.Text, "favoriteBand"); } /// <summary> /// Dismisses the keyboard by calling ResignFirstResponder /// </summary> protected bool DismissKeyboard (UITextField textBox) { textBox.ResignFirstResponder (); return true; } // This method is required in iPhoneOS 3.0 public override void OnActivated (UIApplication application) { } }