Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.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 UIAutomation:动态添加的UI元素在执行logElementTree()时不显示_Iphone_Objective C_Ios_Accessibility_Ios Ui Automation - Fatal编程技术网

iPhone UIAutomation:动态添加的UI元素在执行logElementTree()时不显示

iPhone UIAutomation:动态添加的UI元素在执行logElementTree()时不显示,iphone,objective-c,ios,accessibility,ios-ui-automation,Iphone,Objective C,Ios,Accessibility,Ios Ui Automation,我有以下UI元素的层次结构: UITableView - UITableViewCell -- UIScrollView --- UIWebView --- UIWebView --- UIWebView 现在,当我开始加载页面时,显示的就是这些。但是,如果用户向右滚动,则会在用户遇到其他UIWebView时加载它们。例如,当第四个UIWebView插入UIScrollView时,如果用户向右滚动多次 现在,当我最初加载包含所有这些元素的屏幕时,如果我在页面上执行logElementTree(

我有以下UI元素的层次结构:

UITableView
- UITableViewCell
-- UIScrollView
--- UIWebView
--- UIWebView
--- UIWebView
现在,当我开始加载页面时,显示的就是这些。但是,如果用户向右滚动,则会在用户遇到其他UIWebView时加载它们。例如,当第四个UIWebView插入UIScrollView时,如果用户向右滚动多次

现在,当我最初加载包含所有这些元素的屏幕时,如果我在页面上执行logElementTree(),我列出的所有元素都将显示出来。例如,我可能会看到以下输出:

4) UIATableView [name:Empty list value:rows 1 to 1 of 1 rect:{{x:0, y:64}, {width:320, height:416}}]
5) UIATableCell [name:OfferCardTableViewCell value:(null) rect:{{x:0, y:160}, {width:320, height:416}}]
6) UIAWebView [name:(null) value:(null) rect:{{x:0, y:160}, {width:320, height:418}}]
6) UIAWebView [name:(null) value:(null) rect:{{x:320, y:160}, {width:320, height:418}}]
6) UIAWebView [name:(null) value:(null) rect:{{x:640, y:160}, {width:320, height:418}}]
但是,如果向右滚动并将其他UIWebView添加到现有的三个UIWebView中,则在执行
logElementTree()
时,不会显示新的UIWebView元素。我注意到x坐标已经更新了。例如,滚动到UIScrollView中的第四项后,UIAWebView将显示以下坐标:

6) UIAWebView [name:(null) value:(null) rect:{{x:-960, y:160}, {width:320, height:418}}]
6) UIAWebView [name:(null) value:(null) rect:{{x:-640, y:160}, {width:320, height:418}}]
6) UIAWebView [name:(null) value:(null) rect:{{x:-320, y:160}, {width:320, height:418}}]
为了便于参考,新创建的UIWebView通过调用
[scrollView addSubView://code>添加到UIScrollView。我需要做什么才能在执行
logElementTree()
时显示新创建的UIWebView


谢谢。

要解决此问题,您需要在添加或删除元素时使用
UIAccessibilityPostNofication
函数。
UIAccessibilityLayoutChangedNotification
通知可能会起作用。否则,请尝试
UIAccessibilityScreenChangedNotification