iOS ViewController 的可访问性标签以表单形式呈现
Posted
技术标签:
【中文标题】iOS ViewController 的可访问性标签以表单形式呈现【英文标题】:Accessibility label wih iOS ViewController presented as a form sheet 【发布时间】:2014-07-24 15:06:46 【问题描述】:我正在我的应用程序中使用演示文稿:表单。所以我的 ViewController 显示为一个带有黑色半透明覆盖层的表单。
我已经实现了逻辑,如果用户在我的表单 ViewController 之外的任何地方点击,就会关闭所有内容。
我想测试这种行为,但我不确定如何模拟水龙头。如何设置辅助功能标签以通过 UI 测试模拟此点击?
或者我可以如何测试这种行为的任何其他建议?
谢谢!
【问题讨论】:
【参考方案1】:您只想单击屏幕上的任意位置来关闭所有内容?
[tester tapScreenAtPoint:CGPoint];
为你做。
这里解释了有关 KIF 的大部分内容: http://www.raywenderlich.com/61419/ios-ui-testing-with-kif
【讨论】:
【参考方案2】:您好,您可以像这样使用 UITapGestureRecognizer:
首先创建一个UITapGestureRecognizer的实例
UITapGestureRecognizer *tapGesture = tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(someMethod:)];
然后将此手势识别器附加到您的视图(即您正在谈论的黑色覆盖)
[self.view addGestureRecognizer:tapGesture];
然后实现 someMethod: 这是当你的表单被点击时被调用的方法(动作)
-(void)someMethod
//Logic to dismiss your formsheet
HTH :D
【讨论】:
如果我正在编写单元测试,那确实会有所帮助,但我的场景更适合 UI 测试,不是吗?我正在使用 KIF,所有步骤都是通过点击基于可访问性标签和/或标识符的元素来触发的。以上是关于iOS ViewController 的可访问性标签以表单形式呈现的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 中正确访问 ViewController 中的核心数据上下文 [重复]
iOS 8 导航栏在 Storyboard 上的第二个 ViewController 中无法访问