我在我的应用程序上得到了一个不使用NIB的UITableView。但是,因为我是这样做的,所以无法获取通常与常规UITableView关联的编辑属性。例如,如果我改为使用@interface TableViewController:uitableviewcontroller并在导航栏上添加一个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
等。。。
我不想详细介绍delegate方法,因为我用一个简单的UITableViewController创建了一个新项目,它可以工作。
顺便说一句,当我运行代码时,我设置了断点,并调用了委托方法,但是什么都没有发生。它不会在单元格左侧显示删除图标,在右侧显示不移动的单元格图标。什么都没发生。
非常感谢!!!