在KIF中按后退按钮(backBarButtonItem)?

Dru*_*rux 3 uinavigationcontroller uinavigationitem ios kif ios8

KIF是否为点击按钮提供任何特殊支持,还是我必须做这样的事情?

// in parent ViewController

self.navigationItem.backBarButtonItem.isAccessibilityElement = YES;
self.navigationItem.backBarButtonItem.accessibilityLabel     = @"Back";

// in test class

[tester tapViewWithAccessibilityLabel: @"Back"]];
Run Code Online (Sandbox Code Playgroud)

后者有点不幸,因为我的代码目前根本没有后退按钮,self.navigationItem.backBarButtonItem并且通常可以保留nil(参见此处):故事板中的描述到目前为止已经足够了.

pll*_*uke 5

默认情况下,后退按钮将标记为"后退",并且可以通过VoiceOver访问,如下所示:

[tester tapViewWithAccessibilityLabel: @"Back"];
Run Code Online (Sandbox Code Playgroud)

如果你还没有做任何其他事情将会奏效.

因此,假设我理解了视图控制器的结构(这是导航,但没有明确的backBarButtonItem设置),那么你所拥有的应该在没有你担心的父视图控制器变化的情况下工作.

  • 这在iOS 11中发生了问题,该iOS现在将“后退”按钮的可访问性标签设置为导航堆栈中上一个视图控制器的标题。 (3认同)