Cocoa touch 为什么未调用my UITableViewController setEdit:animated:方法?
我一定是在做傻事,但我看不到什么:当按下导航的编辑按钮时,我的Cocoa touch 为什么未调用my UITableViewController setEdit:animated:方法?,cocoa-touch,uitableview,Cocoa Touch,Uitableview,我一定是在做傻事,但我看不到什么:当按下导航的编辑按钮时,我的UITableViewController子类从未被调用 是什么原因造成的 “我的视图层次结构”是从Nib文件加载并放入popover中的。[+]按钮连接到myUITableViewController子类的insertNewObject操作。它很好用 但[编辑]按钮没有可连接的操作。文档说它将自动调用视图控制器的setEditing:animated:方法,我将覆盖该方法 nib文件的设置与通常的AFAICT差不多。事实上,我不确定
UITableViewController
子类从未被调用
是什么原因造成的
“我的视图层次结构”是从Nib文件加载并放入popover中的。[+]按钮连接到myUITableViewController
子类的insertNewObject
操作。它很好用
但[编辑]按钮没有可连接的操作。文档说它将自动调用视图控制器的setEditing:animated:
方法,我将覆盖该方法
nib文件的设置与通常的AFAICT差不多。事实上,我不确定我能提供什么额外的细节来暗示我的错误
从点击[编辑]按钮到调用
setEditing:animated
方法的控制流程是什么?我觉得我们肯定错过了同样的东西
不管是什么情况,我都是通过以下步骤来实现的
IBOutlet UIBarButtonItem *editButton;
-(IBAction)editButtonPressed:(id)sender {
[self setEditing:YES animated:YES];
}
- (void)setEditing:(BOOL)editing animated:(BOOL)animate
{
if(self.tableView.isEditing)
{
self.editButton.style = UIBarButtonItemStylePlain;
self.editButton.title = @"Edit";
}
else
{
//self.editButton.style = UIBarButtonSystemItemDone;
self.editButton.style = UIBarButtonSystemItemEdit;
self.editButton.title = @"Done";
}
// Toggle table view state
[super setEditing:!self.tableView.isEditing animated:animate];
}
我把editButton连接到我添加到导航栏的按钮上,它的动作连接到editButtonPressed iAction。完成此操作后,将调用my setEditing:(显然)超级调用切换表视图的编辑状态
我想使用系统定义的按钮样式,但适当的按钮样式被注释掉了,因为虽然它确实更改了样式,但我不知道如何将文本从“编辑”更改为“完成”,所以我必须手动完成所有操作(只有当我将按钮保留为自定义并按常规设置样式时,这才有效)。这样做的缺点是没有本地化(免费),等等