刚刚更新到Xcode 7和iOS 9 SDK,在UIWebview中播放HTML 5视频时发现了一个问题.代码非常简单,只需在UIWebview中加载HTML代码并播放即可.HTML代码包括用于播放捆绑中的视频文件的标签.在iPhone上测试时,视频可以在全屏模式下正常播放(默认情况下),但Xcode控制台会显示错误消息的长列表:
UIWebviewVideoTest [22503:904174]无法同时满足约束.可能至少下列列表中的一个约束是您不想要的约束.试试这个:(1)看看每个约束并试着找出你不期望的东西; (2)找到添加了不需要的约束或约束的代码并修复它.(注意:如果您看到您不理解的NSAutoresizingMaskLayoutConstraints,请参阅UIView属性的文档translatesAutoresizingMaskIntoConstraints)
(
"<NSAutoresizingMaskLayoutConstraint:0x7f8df9da8ed0 h=-&- v=-&- _UIBackdropContentView:0x7f8dfc034370.width == _UIBackdropView:0x7f8df9c4ec70.width>",
"<NSLayoutConstraint:0x7f8df9d974e0 H:|-(14)-[UILabel:0x7f8df9c45b40'Slide your finger down to...'] (Names: '|':_UIBackdropContentView:0x7f8dfc034370 )>",
"<NSLayoutConstraint:0x7f8df9d96900 H:[UILabel:0x7f8df9c45b40'Slide your finger down to...']-(14)-| (Names: '|':_UIBackdropContentView:0x7f8dfc034370 )>",
"<NSLayoutConstraint:0x7f8df9d835c0 H:|-(0)-[_UIBackdropView:0x7f8df9c4ec70] (Names: '|':UIView:0x7f8df9c52bf0 )>",
"<NSLayoutConstraint:0x7f8df9d83610 H:[_UIBackdropView:0x7f8df9c4ec70]-(0)-| (Names: '|':UIView:0x7f8df9c52bf0 )>",
"<NSLayoutConstraint:0x7f8df9d83910 H:|-(0)-[UIView:0x7f8df9c52bf0] (Names: '|':AVAlphaUpdatingView:0x7f8df9c44190 )>",
"<NSLayoutConstraint:0x7f8df9d83960 H:[UIView:0x7f8df9c52bf0]-(0)-| (Names: '|':AVAlphaUpdatingView:0x7f8df9c44190 )>",
"<NSLayoutConstraint:0x7f8df9daf950 'UIView-Encapsulated-Layout-Width' H:[AVAlphaUpdatingView:0x7f8df9c44190(0)]>"
Run Code Online (Sandbox Code Playgroud)
)
将试图通过打破约束来恢复
<NSLayoutConstraint:0x7f8df9d96900 H:[UILabel:0x7f8df9c45b40'Slide your finger down to...']-(14)-| (Names: '|':_UIBackdropContentView:0x7f8dfc034370 )>
Run Code Online (Sandbox Code Playgroud)
在UIViewAlertForUnsatisfiableConstraints上创建一个符号断点,以便在调试器中捕获它.在列出的UIView上的UIConstraintBasedLayoutDebugging类别中的方法也可能有所帮助.
当我在iPad上测试时,内联播放模式正常,但在全屏模式下播放视频时,控制台中会显示类似的错误.似乎该错误与UIWebview中的全屏视频播放相关联.有谁知道为什么会生成此错误消息以及如何避免它?谢谢!
我最近正在研究一个项目,并在Mac上的Safari中发现一个奇怪的问题.当safari加载包含太多输入文本字段的网页时,在聚焦和键入这些字段时会变慢.
我做了一个简单的php页面来测试.代码如下:
<?php
for ($i = 0; $i < 1000; $i++) {
echo "<p>
<input type='text' />
<input type='text' />
<input type='text' />
<input type='text' />
<input type='text' />
</p>";
}
?>
Run Code Online (Sandbox Code Playgroud)
然后在Yosemite上的Safari 8.0或Mavericks上的Safari 7.0中打开它,尝试在某些字段中键入内容,您会发现在键入时Safari响应非常慢.
但是如果在Firefox或Chrome中打开这个php页面,他们会以非常快的速度和正常速度进行打字.
我还尝试使用一些可编辑的div块来替换输入文本字段,我在Safari中发现这些可编辑的div响应输入速度非常快而不像输入字段.
Safari在输入文本字段中输入的响应有什么特别之处吗?
我只想使用HTML5音频功能顺序播放几个音频文件.在每次播放结束时,"结束"事件将触发加载下一个音频.但是在Safari 5.1 for desktop(在Mac上),我发现"结束"事件只在第一次播放结束时才开始.加载并播放第二个音频后,即使音频播放完成(我通过"timeupdate"事件跟踪),"已结束"事件也不会再次触发.即使我手动播放任何其他音频文件,"已结束"事件也不会再次触发.但在Chrome和移动游戏中,这个问题似乎不存在,音频播放器可以连续播放从第一个音频到最后一个音频.这是适用于Mac OS X的Safari 5.1的错误吗?(我没有在Windows中测试它)
目前,我只能使用"timeupdate"事件来检查游戏是否结束.
We know that in iOS 6 mobile safari supports HTML input file tag to upload images. I just created an HTML file like this and it worked fine in mobile safari. But when I loaded it in a UIWebView, I found I could still tap the "Choose file" button to choose an image file, but after I tapped "done" and returned to the UIWebView, the web page in the UIWebView reloaded and no file was attached to the HTML form. …
html ×2
safari ×2
uiwebview ×2
audio ×1
events ×1
file-upload ×1
html5 ×1
html5-video ×1
input ×1
ios ×1
iphone ×1
objective-c ×1
performance ×1
response ×1
swift ×1