コード例 #1
0
        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;
            }
        }
コード例 #2
0
ファイル: ViewController.cs プロジェクト: ytabuchi/TrXiOS
        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;
            };
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        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;
            };
        }
コード例 #5
0
ファイル: ViewController.cs プロジェクト: ytabuchi/iOS
        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
        }