2016-11-23 20 views
1

私はTabViewControllerの子孫コントローラにあるTableViewを持っています。 TableViewにはAPIからの項目があります。また、新しいTableItemフォーム/コントローラを作成します。このコントローラは、提出された時点で、ViewControllerをテーブルビューで表示し、APIのアイテムの更新リストを表示する必要があります。Xamarin IOS - TableViewControllerのときにTableViewがPresentViewControllerで更新されない

var storyBoard = this.Storyboard; 
var viewController = (TabBarController)storyBoard.InstantiateViewController("TabBarController"); 

var tabs = viewController.ChildViewControllers; 
viewController.SelectedViewController = tabs[1]; 

PresentViewController(viewController, true, null); 

これは、適切な表示を提示するという点で、期待通りに機能します。しかし、私はそうのようなリロードを強制するまで:

async Task RefreshAsync() 
{ 
    if (_useRefreshControl) 
     _refreshControl.BeginRefreshing(); 

    if (_useRefreshControl) 
     _refreshControl.EndRefreshing(); 

    BookingsTableView.ReloadData(); 
} 

ビューは、ちょうどページの読み込み時に、それがAPIを照会し、リストをロードする必要がありますテーブルビューで同じ項目が表示されます。

_bookings = await _apiService.GetBookingsForCustomer(model.CustomerEmail); 
_dataSource = new BookingTableSource(_bookings, this); 

BookingsTableView.Source = _dataSource; 
BookingsTableView.ReloadData(); 

また、このアプリはコンセプトの単なる証明です。しかし、どうすればTabBarControllerを提示しながら、私のTableViewControllerをインスタンス化することができますか?

おかげで、

ダニーこれを解決

+0

場合あなたは何をしようとしているのかをもっと理解できる完全なサンプルソリューションを共有します –

+0

ちょっとゆり、投稿していただきありがとうございます。私はこれを解決することができた私は以下の答えを投稿します。 –

答えて

0

は、ちょうど予約フォームでのViewControllerを却下し、予約テーブルビューでのViewControllerでViewDidAppearオーバーライドの私のリフレッシュ方法と呼ばれる:

public override void ViewDidAppear(bool animated) 
{ 
    RefreshData(); 
} 
関連する問題