public override void ViewDidLoad() { base.ViewDidLoad(); var vm = new SpeakersModel(); CustomTableView.RowHeight = 70; CustomTableView.RegisterNibForCellReuse(CustomTableViewCell.Nib, nameof(CustomTableViewCell)); GetSpeakersButton.TouchUpInside += async(sender, e) => { // ボタンを利用不可、グルグルを表示にします。 GetSpeakersButton.Enabled = false; SVProgressHUD.Show(); await vm.GetSpeakersAsync(); // TableViewのSourceをCustomTableViewSourceでnewします。 CustomTableView.Source = new CustomTableViewSource(this, vm.Speakers); CustomTableView.ReloadData(); // グルグルを非表示、ボタンを利用可にします。 SVProgressHUD.Dismiss(); GetSpeakersButton.Enabled = true; }; }
public async Task Show(string message) { try { SVProgressHUD.SetDefaultStyle(SVProgressHUDStyle.Custom); SVProgressHUD.ShowWithMaskType(SVProgressHUDMaskType.Black); SVProgressHUD.SetDefaultMaskType(SVProgressHUDMaskType.Black); SVProgressHUD.SetDefaultAnimationType(SVProgressHUDAnimationType.Flat); UIView.AnimationsEnabled = true; SVProgressHUD.SetForegroundColor(UIKit.UIColor.Black); SVProgressHUD.Show(); } catch (Exception ex) { } }
public override void ViewDidLoad() { base.ViewDidLoad(); var vm = new ViewModels.SpeakersViewModel(); CustomTableView.EstimatedRowHeight = 70; CustomTableView.RegisterNibForCellReuse(CustomTableViewCell.Nib, nameof(CustomTableViewCell)); CustomTableView.Source = new CustomTableViewSource(); GetSpeakersButton.TouchUpInside += async(sender, e) => { // ボタンを利用不可、グルグルを表示にします。 GetSpeakersButton.Enabled = false; SVProgressHUD.Show(); // vmのGetSpeakersメソッドを実行します。 await vm.GetSpeakers(); var items = vm.Speakers; // Name、Title、UIImageのプロパティを持つTableItemのListにデータを移し替えます。 // 移し替える前にImageUrlをUIImageに変換して格納します。 var tableItems = new List <TableItem>(); foreach (var x in items) { var image = await this.LoadImage(x.Avatar); tableItems.Add(new TableItem(x.Name, x.Title, image)); } // 用意してあるCustomListViewSourceを再度読み込み、一度クリアしてからデータを流し込み、再表示します。 var src = CustomTableView.Source as CustomTableViewSource; src.Items.Clear(); foreach (var x in tableItems) { src.Items.Add(x); } CustomTableView.ReloadData(); // グルグルを非表示、ボタンを利用可にします。 SVProgressHUD.Dismiss(); GetSpeakersButton.Enabled = true; }; }
public override void ViewDidLoad() { base.ViewDidLoad(); // Perform any additional setup after loading the view, typically from a nib. this.showStatusButton.TouchUpInside += (sender, e) => { SVProgressHUD.Show("Hello"); }; this.dismissButton.TouchUpInside += (sender, e) => { SVProgressHUD.Dismiss(); }; this.dismissSuccess.TouchUpInside += (sender, e) => { SVProgressHUD.DismissWithSuccess("Success"); }; this.dismissError.TouchUpInside += (sender, e) => { SVProgressHUD.DismissWithError("Failed!"); }; }
public override void ViewDidLoad() { base.ViewDidLoad(); var vm = new UITableViewSample.Models.SpeakersModel(); CustomTableView.RowHeight = 70; CustomTableView.RegisterNibForCellReuse(CustomTableViewCell.Nib, nameof(CustomTableViewCell)); GetSpeakersButton.TouchUpInside += async(sender, e) => { // ボタンを利用不可、グルグルを表示にします。 GetSpeakersButton.Enabled = false; SVProgressHUD.Show(); // vmのGetSpeakersメソッドを実行します。 await vm.GetSpeakersAsync(); // Name、Title、UIImageのプロパティを持つTableItemのListにデータを移し替えます。 // 移し替える前にImageUrlをUIImageに変換して格納します。 var tableItems = new List <TableItem>(); foreach (var x in vm.Speakers) { var image = await this.LoadImage(x.Avatar); tableItems.Add(new TableItem(x.Name, x.Title, image)); } // TableViewのSourceをCustomTableViewSourceでnewします。 CustomTableView.Source = new CustomTableViewSource(tableItems); CustomTableView.ReloadData(); // グルグルを非表示、ボタンを利用可にします。 SVProgressHUD.Dismiss(); GetSpeakersButton.Enabled = true; }; #region PropertyChangedを使用する場合 //vm.PropertyChanged += Vm_PropertyChanged; #endregion }
public override void ViewDidLoad() { base.ViewDidLoad(); var speakers = new SpeakersModel(); SpeakersTableView.RowHeight = 70; SpeakersTableView.RegisterNibForCellReuse(SpeakersTableViewCell.Nib, nameof(SpeakersTableViewCell)); GetSpeakersButton.TouchUpInside += async(object sender, EventArgs e) => { // クルクルを表示、ボタンを利用不可にします。 GetSpeakersButton.Enabled = false; SVProgressHUD.Show(); // vmのGetSpeakersメソッドを実行します。 await speakers.GetSpeakersAsync(); // Name、Title、UIImageのプロパティを持つTableItemのListにデータを移し替えます。 // 移し替える前にImageUrlをUIImageに変換して格納します。 var tableItems = new List <TableItem>(); foreach (var x in speakers.Speakers) { var image = await this.LoadImage(x.Avatar); tableItems.Add(new TableItem(x.Name, x.Title, image)); } // TableViewのSourceをCustomTableViewSourceでnewします。 SpeakersTableView.Source = new SpeakersTableViewSource(tableItems); SpeakersTableView.ReloadData(); // クルクルを非表示、ボタンを利用可にします。 SVProgressHUD.Dismiss(); GetSpeakersButton.Enabled = true; }; }