2012-03-15 16 views
2

他の要素の他に子としてUITableViewを持つUIViewControllerがあります。私はのUITableViewControllerビュータイプでこれを設定した場合、それは動作しますが、明らかにそれはサブビューあるのtableViewの上では動作しませんiOSのサブビューであるUITableViewの編集ボタンの設定方法

self.navigationItem.rightBarButtonItem = self.editButtonItem; 

:私はこのシンプルなラインとそののtableViewに編集サポートを追加したいです。実際には編集ボタンが表示されますが、編集アクションはトリガーされません。

私は単純にカスタム編集ボタンを実装するための優雅なソリューションがない場合は、とにかく。

ありがとうございます!

答えて

1

解決策を見つけました。そのようself.myTableViewController.editButtonItemself.editButtonItemの交換:

self.navigationItem.rightBarButtonItem = self.myTableViewController.editButtonItem; 

それは魔法のように動作します。もっとシンプルにできますか? :)

0

self.navigationItem.leftBarButtonItem = self.editButtonItem;

+0

- ではないソリューション。 –

3
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    self.title = @"My View Controller"; 
    self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editButtonSelected:)] autorelease]; 

} 

- (void) editButtonSelected: (id) sender 
{ 
    if (tableView1.editing) { 
     self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editButtonSelected:)] autorelease]; 
     [self.tableView1 setEditing:NO animated:YES]; 
    } else { 
     self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(editButtonSelected:)] autorelease]; 
     [self.tableView1 setEditing:YES animated:YES]; 

    } 

} 
2

あなたはsetEditingを実装する必要がありますが:自分でアニメーション:

私はすでにやったことだ
- (void)setEditing:(BOOL)editing animated:(BOOL)animated 
{ 
    [self.tableView setEditing:editing animated:animated]; 
    [super setEditing:editing animated:animated]; 
} 
関連する問題