2016-04-10 12 views

答えて

3

テーブルビューのソースMyTableViewSourceには、RowSelectedを上書きする必要があります。この方法では、行番号を確認してテーブルビューソースのItemsに項目を追加した後に、​​に電話する必要があります。

それらを作成
class MyTableViewSource : UITableViewSource 
{ 
    private readonly UITableView _table; 
    public List<string> Items { get; } 

    public MyTableViewSource(UITableView table) 
    { 
     _table = table; 
     Items = new List<string> { "Hello", "World", "Bla", "Foo" }; 
    } 

    public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath) 
    { 
     var item = Items[indexPath.Row]; 
     var cell = // create cellfor item 
     return cell; 
    } 

    public override nint RowsInSection(UITableView tableview, nint section) 
    { 
     return Items.Count; 
    } 

    public override void RowSelected(UITableView tableView, NSIndexPath indexPath) 
    { 
     if (indexPath.Row == 2) 
     { 
      Items.Insert(3, "Horst"); 
      Items.Insert(4, "Klaus"); 
      Items.Insert(5, "Peter"); 
      _table.ReloadData(); 
     } 
    } 
} 

var table = new UITableView(); 
table.Source = new MyTableViewSource(table); 

を使用すると、アニメーションをより細かく制御したい場合は、このバージョンを使用することができます:多くのthnx、役立ちました

public override void RowSelected(UITableView tableView, NSIndexPath indexPath) 
{ 
    if (indexPath.Row == 2) 
    { 
     _table.BeginUpdates(); 
     Items.Insert(3, "Horst"); 
     Items.Insert(4, "Klaus"); 
     Items.Insert(5, "Peter"); 

     _table.InsertRows(new[] { NSIndexPath.Create(0, 3), NSIndexPath.Create(0, 4), NSIndexPath.Create(0, 5) }, UITableViewRowAnimation.Left); 
     _table.EndUpdates(); 
    } 
} 
+0

をよく。 – TheMAMs

+0

これがあなたの質問に答えるならば、それを回答として受け入れます。そうすれば未回答の質問レーンに残ることはありません。 http://stackoverflow.com/help/someone-answers –

+0

これは私にとって非常に役に立ちました、ありがとうございました! –

関連する問題