Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何更改editButtonItem';s带UISegmentedControl的tableViewController?_Ios_Objective C_Uisegmentedcontrol - Fatal编程技术网

Ios 如何更改editButtonItem';s带UISegmentedControl的tableViewController?

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; 测试此功

我正在开发一个IOS应用程序,它使用
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],但没有成功。