在我的iOS应用程序中,操作员在datePicker中输入一个生日,然后使用NSDateFormatter "EEEE,dd“创建几个新的日期。使用loadHTMLString,新日期将加载到UIWebView中。选中UIWebView的"Event“属性。在iOS 6中,所有新的日期都用超链接显示,当点击并选择"Create Event“时,会打开日历的正确页面,调试器输出中没有错误。在iOS 7中,新的日期在UIWebView中用超链接显示,但是当点击时,"Create“选项显示的日期与UIWebView上显示的日期完全不同。此外,在iOS 7中,一些超链接日期被点击后,调试器输出中出现了一个非常奇怪的错误,我在网上任何地方都找不到它。以下是错误:
未知的DDResult类别1的结果;无法找到任何行动的URL苹果-数据检测器://1
以前有人见过上面的错误吗?
下面是应用程序的截图,展示点击前后的日期:
Screenshot1显示了几个日期,然后才被点击。超链接日期指向即将到来的(未来)日期。
Screenshot2是在2014年2月10日被点击并从弹出事件视图控制器中选择"Create“选项之后拍摄的。正如你所看到的,错误的日期(2013年10月14日)是在日历中打开的,而不是2014年2月10日。
知道为什么不正确的日期会在日历中用iOS7显示,而不是用iOS6显示?
发布于 2013-12-20 16:22:10
这是解决UIWebView在iOS7中的问题的解决办法:
1)关闭UIWebView的数据检测器
myWebView.dataDetectorTypes = 0;
2)强制web视图加载虚拟页面
[myWebView loadHTMLString:@"<html><p>clear</p></html>" baseURL:nil];
3)这里有一些代码来完成所有的计算,以创建新的日期,并将它们转换为myHTMLString (myHTMLString),然后重新启用UIWebView的事件数据检测器。
myWebView.dataDetectorTypes = UIDataDetectorTypeCalendarEvent;
4)现在使用包含新日期的html字符串加载UIWebView:
[myWebView loadHTMLString:myHTMLString baseURL:nil];
上述解决方案解决了我的问题。
https://stackoverflow.com/questions/20590253
复制相似问题