Anh*_* Do 7 iphone cocoa-touch objective-c
我的编辑按钮放在viewDidLoad中:
self.navigationItem.rightBarButtonItem = self.editButtonItem;
Run Code Online (Sandbox Code Playgroud)
它在导航栏上正确显示,点击此按钮确实将其更改为完成.但是,我的表格行中没有显示减号按钮.然后点击一行,然后点击删除工作.
有任何想法吗?
编辑1:这是我正在做的事情:
- (void)loadView {
tableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
tableView.delegate = self;
tableView.dataSource = self;
tableView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.view = tableView;
}
Run Code Online (Sandbox Code Playgroud)
编辑2:我的观察是如果我的tableview是在IB(RootViewController)中创建的,编辑和减号按钮显示正常.另外两个(或三个)tableview是由前面的代码创建的,因此可能是问题所在.猜猜我不得不潜入isEditing,编辑和诸如此类的东西.
小智 39
如果你不是UITableViewController的子类,有一种方法可以做到这一点.只需在你的UIViewController子类中实现setEditing:animated:如下:
- (void) setEditing:(BOOL)editing animated:(BOOL)animated {
[super setEditing: editing animated: animated];
[self.tableView setEditing:editing animated:animated];
}
Run Code Online (Sandbox Code Playgroud)
注意:如果需要,请替换"self.tableView"...
同时将"编辑"按钮添加到工具栏:
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
Run Code Online (Sandbox Code Playgroud)
就这样!
Anh*_* Do 11
傻我.我忘了将UIViewController(我的视图控制器继承的类)更改为UITableViewController.现在,它的工作原理.
如果不这样做,我需要手动启用行编辑,如:
// in loadView
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(turnOnEditing)];
- (void)turnOnEditing {
[self.navigationItem.rightBarButtonItem release];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(turnOffEditing)];
[self.tableView setEditing:YES animated:YES];
}
- (void)turnOffEditing {
[self.navigationItem.rightBarButtonItem release];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(turnOnEditing)];
[self.tableView setEditing:NO animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9058 次 |
| 最近记录: |