Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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
如何禁用iphone上的“单击后退”按钮_Iphone_Objective C - Fatal编程技术网

如何禁用iphone上的“单击后退”按钮

如何禁用iphone上的“单击后退”按钮,iphone,objective-c,Iphone,Objective C,我的导航栏上有后退按钮和编辑按钮,如下所示 点击编辑按钮后,我有 我的问题:当我处于编辑模式时,如何禁用“单击上一步”按钮,以便用户在完成之前不能返回上一屏幕 我正在尝试的是 self.navigationItem.backBarButtonItem.enabled = NO; 但“后退”按钮仍然可以单击 PS:我将后退按钮添加到导航栏的方式是 self.navigationItem.hidesBackButton = NO; 我可以隐藏后退按钮,但我

我的导航栏上有后退按钮和编辑按钮,如下所示

点击编辑按钮后,我有

我的问题:当我处于编辑模式时,如何禁用“单击上一步”按钮,以便用户在完成之前不能返回上一屏幕

我正在尝试的是

self.navigationItem.backBarButtonItem.enabled   =   NO;
但“后退”按钮仍然可以单击

PS:我将后退按钮添加到导航栏的方式是

self.navigationItem.hidesBackButton             =   NO;
我可以隐藏后退按钮,但我不想要那个选项


请在这个问题上给我一些建议。欢迎您在此发表评论。

如果按钮被阻止,您可能应该将其隐藏。因为在我看来,没有响应的按钮对用户不好

- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
    [super setEditing:editing animated:animated];

    [UIView animateWithDuration:0.35f animations:^{
        self.navigationItem.hidesBackButton = editing;       
    }];
}

self.navigationItem.backBarButtonItem.enabled=否


你把上面的代码放在哪里。将上述代码置于编辑按钮的iAction方法中。

最好的解决方案是在您离开屏幕时结束编辑模式,可能首先显示确认警报(
UIAlertView
带有两个按钮“确定”和“取消”)

但是,要回答这个问题,您必须创建一个外观与后退按钮相同的
ui按钮
(使用图像)。使用此按钮作为自定义视图创建一个
UIBarButtonim
,并在
LeftBarButtonim
中使用它(注意
BackBarButtonim
不能有自定义视图)

然后,您可以在该自定义视图上将
启用
设置为


编辑:我错了
UIBarButtonItem
已启用
属性。禁用“后退”按钮的问题可能是因为您在错误的导航项上禁用了
backBarButtonItem
。后退按钮总是由堆栈中的前一个控制器定义。

我认为这不是一个好主意,可能会违反人们对应用程序工作的期望。我推荐@Sulthan的第一个建议:让人们点击“后退”,但在点击时只需结束编辑模式。您可能希望了解其他应用程序如何处理类似情况。
UIBarButtonItem
不是
UIView
的子类,并且没有启用
属性。您的回答不正确。UIBarButtonItem是UIBarItem的子类,并且UIBarItem确实启用了
属性。所以他的解决方案是正确的,但我不知道为什么不正确work@ttran你是对的,我从来没有注意到,
uibarbuttoneim
还有另一个超类。你也可以在真正的后退按钮上加一个透明按钮——我认为这更简单。。然而,这听起来很糟糕,尽管它没有自定义视图,但bacbarbuttonite是uibarbuttonite,uibarbuttonite是UIBarItem的子类,UIBarItem确实具有“enalble”属性。那么为什么我们不能使用它呢。