iOS7自定义交互式转换,隐藏后退按钮在取消时重新显示为“...”

时间:2013-11-08 16:29:52

标签: objective-c ios7 uikit uikit-transitions

我有一个自定义交互式转换,需要我隐藏标准后退按钮。基本上,过渡看起来像是从左到右的推动,而不是我们都熟悉的标准的从右到左的推动。这就是我的后退按钮位于右侧的原因。

正如您在取消由UIScreenEdgePanGestureRecognizer激活的弹出转换之前和之后拍摄的两个屏幕截图所示,一旦取消转换,后退按钮就会出现“...”。

Before and After Cancelling the transition

我正在使用

self.navigationItem.hidesBackButton = YES;

我尝试将其置于 awakeFromNib viewDidLoad viewDidAppear viewWillAppear 方法中问题。

因此,使用Reveal.app的强大功能,我调查了之前和之后的视图层次结构,并看到了这一点:

View hierarchy before and after via reveal.app

在图像的每个部分中突出显示的内容是导航栏区域中包含隐藏后退按钮的区域。在它之前是一个UINavigationButton然后它变成一个带有UILabel的UINavigationButtonItem,它必须是包含“......”的东西,并且保持这样。

非常感谢任何帮助。我希望这足够详细,可以很好地了解这个问题。

1 个答案:

答案 0 :(得分:2)

首先尝试创建一个空的后退按钮(在按下vc之前在父视图控制器中) - 这可能会阻止创建“...”UILabel

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStyleBordered target:nil action:nil];

另一个想法:只需将父vc标题设置为空字符串。

self.title = @"";