Ios 如何更改editButtonItem';s带UISegmentedControl的tableViewController?
我正在开发一个IOS应用程序,它使用Ios 如何更改editButtonItem';s带UISegmentedControl的tableViewController?,ios,objective-c,uisegmentedcontrol,Ios,Objective C,Uisegmentedcontrol,我正在开发一个IOS应用程序,它使用UISegmentedControl在三个不同的TableViewController之间进行交换。这些TableViewController是位于导航控制器堆栈中的ViewController的子ViewController 在我的viewController的viewDidLoad中,我添加了代码来设置默认表视图控制器的编辑按钮,以便 UIBarButtonItem *lbbi = firstController.editButtonItem; 测试此功
UISegmentedControl
在三个不同的TableViewController之间进行交换。这些TableViewController是位于导航控制器堆栈中的ViewController的子ViewController
在我的viewController的viewDidLoad
中,我添加了代码来设置默认表视图控制器的编辑按钮,以便
UIBarButtonItem *lbbi = firstController.editButtonItem;
测试此功能时,“编辑”按钮可在所有区段上工作,但仅在firstController上启用编辑(如预期)
我的问题是,我需要使用此编辑按钮来允许在其他两个视图控制器上进行编辑,可以通过同时启用所有三个视图控制器的编辑,也可以通过使用UISegmentedControl
来启用tableViewController的编辑
到目前为止,我已经尝试了以下几点:
UIBarButtonItem *editButton = navItem.leftBarButtonItem;
UITableViewController *firstController = [self.storyboard instantiateViewControllerWithIdentifier:@"firstController"];
UITableViewController *secondController = [self.storyboard instantiateViewControllerWithIdentifier:@"secondController"];
UITableViewController *thirdController = [self.storyboard instantiateViewControllerWithIdentifier:@"thirdController"];
switch (segment.selectedSegmentIndex) {
case 0:
self.firstView.hidden = YES;
self.secondView.hidden = NO;
self.thirdView.hidden=YES;
editButton = secondController.editButtonItem;
break;
case 1:
self.firstView.hidden = NO;
self.secondView.hidden = YES;
self.thirdView.hidden = YES;
editButton = firstController.editButtonItem;
break;
case 2:
self.firstView.hidden = YES;
self.secondView.hidden = YES;
self.thirdView.hidden=NO;
editButton = thirdController.editButtonItem;
break;
default:
break;
}
这似乎没有改变显示的
editButtonItem
,我一直在想我能做些什么来解决这个问题。为什么需要3个编辑按钮?只需将“编辑”按钮放在导航栏中,截取该操作,然后在按下该按钮时在选定的表视图上启用编辑模式。如何在选定的表视图上启用编辑模式?这是我感到困惑的部分。我尝试使用UIBarButtonItem*lbbi=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemEdit目标:自我操作:@selector(toggleEditingMode:)];截取操作,但执行此操作时出错。我对每个表视图的编辑操作实际上是相同的,只是我无法找到一种方法来更改按钮将哪个表视图发送到编辑模式,而不是我的viewDidLoad(如果我在UIBarButtonim*lbbi=firstController.editButtonItem;)中用secondController或thirdController替换firstController,您可以在操作方法中使用switch语句确定所选段,然后为该表启用编辑模式,即[firstController.table setEditing:YES].在我的操作方法中,我尝试实现此功能,但是我的表都没有进入编辑模式。我无法使用.table(未找到属性),因此我尝试了.tableView,只使用了[firstController SetEdit:是动画:是]没有成功。为什么需要3个编辑按钮?只需将编辑按钮放在导航栏中,截取操作,然后在按下按钮时在选定的表视图上启用编辑模式。如何在选定的表视图上启用编辑模式?这是我感到困惑的部分。我尝试使用UIBarButtonim*lbbi=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarbuttonSystemEdit目标:自我操作:@selector(切换编辑模式:)];截取操作,但执行此操作时出错。我对每个表视图的编辑操作实际上是相同的,只是我无法找到一种方法来更改按钮将哪个表视图发送到编辑模式,而不是我的viewDidLoad(如果我在UIBarButtonim*lbbi=firstController.editButtonItem;)中用secondController或thirdController替换firstController,您可以在操作方法中使用switch语句确定所选段,然后为该表启用编辑模式,即[firstController.table setEditing:YES]。在我的操作方法中,我尝试实现此功能,但没有一个表进入编辑模式。我无法使用.table(找不到属性),因此我尝试了.tableView,只尝试了[firstController setEditing:YES animated:YES],但没有成功。