public override void ViewWillAppear(bool animated) { base.ViewWillAppear(animated); if (AutoHideSearch) { if (enableSearch) { //UIView.Animate(0.5f, ()=> { if (TableView.ContentOffset.Y < 44) { TableView.ContentOffset = new PointF(0, 44); } //}); } } if (root == null) { return; } root.Prepare(); NavigationItem.HidesBackButton = !pushing; if (root.Caption != null) { NavigationItem.Title = root.Caption; } if (dirty) { tableView.ReloadData(); dirty = false; } }
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; }; }
void PopulateCollectionView(string whichAlbum) { if (string.IsNullOrEmpty(whichAlbum)) { return; } var tableData = new NSDataAsset(whichAlbum); try { var jsonString = NSString.FromData(tableData.Data, NSStringEncoding.UTF8); previewDetails = JsonConvert.DeserializeObject <List <PreviewDetail> > (jsonString); CustomTableView.ReloadData(); } catch (Exception e) { Console.WriteLine("Error occurred: {0}", e.Message); } }
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(); 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 }