如何禁用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”属性。那么为什么我们不能使用它呢。