Я получил 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, и он работает.
Кстати, когда я запускаю код, я устанавливаю точки останова и вызываем методы делегата, но ничего не происходит. Это не дает мне значок удаления слева от ячейки и значок движущейся ячейки справа. Ничего не происходит.
Большое спасибо !!!