Как программно вызвать свойства редактирования UITableView - PullRequest
2 голосов
/ 22 ноября 2010

Я получил UITableView в своем приложении без использования NIB. Однако, поскольку я делаю это таким образом, я не могу получить свойства редактирования, обычно связанные с обычным UITableView. Например, если я вместо этого использую @interface TableViewController: UITableViewContoller и добавлю editButtonItem на панели навигации, удаление и перемещение строк будут автоматически включены после нажатия на эту кнопку.

Однако на моем UITableView ничего не работает. Пожалуйста, помогите.

// in .h
@interface TableViewController : UIViewController 
<UITableViewDelegate, UITableViewDataSource>
{
 UITableView *tView;
 NSMutableArray *aMutArray;
}



   // in .m
    -(id)init
    {
     [super initWithNibName:nil  bundle:nil]; 

     [[self navigationItem] setLeftBarButtonItem:[self editButtonItem]];
     [[self navigationItem] setTitle:@"ReorderingTableCell"];

     return self;
    }

    - (void)loadView 
    {
     [super loadView];

     CGRect tableFrame = CGRectMake(0, 0, 320, 300);
     tView = [[UITableView alloc]initWithFrame:tableFrame style:UITableViewStylePlain];
     [[self tView] setDelegate:self];
     [[self tView] setDataSource:self];

     aMutArray = [[NSMutableArray alloc] initWithObjects:@"first", @"second", @"third", nil];

     [[self view] addSubview:tView];
    }

, а затем несколько методов-делегатов, таких как:

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath,
- (void)setEditing:(BOOL)flag animated:(BOOL)animated

и т.д ...

Я не хочу подробно останавливаться на методах делегатов, потому что я создаю новый проект с простым UITableViewController, и он работает.

Кстати, когда я запускаю код, я устанавливаю точки останова и вызываем методы делегата, но ничего не происходит. Это не дает мне значок удаления слева от ячейки и значок движущейся ячейки справа. Ничего не происходит.

Большое спасибо !!!

1 Ответ

5 голосов
/ 22 ноября 2010

Вы должны позвонить -[UITableView setEditing:animated:], чтобы перевести представление таблицы в режим редактирования и выйти из него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...