小编Ste*_*ang的帖子

iOS 9 UIWebview嵌入式视频全屏播放导致约束错误

刚刚更新到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中的全屏视频播放相关联.有谁知道为什么会生成此错误消息以及如何避免它?谢谢!

iphone uiwebview html5-video ios swift

28
推荐指数
1
解决办法
2170
查看次数

在具有大量<input type ="text">字段的网页上键入时,Mac上的Safari响应变慢

我最近正在研究一个项目,并在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在输入文本字段中输入的响应有什么特别之处吗?

html safari performance input response

9
推荐指数
1
解决办法
2179
查看次数

Safari for Mac桌面版:HTML 5音频"已结束"事件不会引发问题

我只想使用HTML5音频功能顺序播放几个音频文件.在每次播放结束时,"结束"事件将触发加载下一个音频.但是在Safari 5.1 for desktop(在Mac上),我发现"结束"事件只在第一次播放结束时才开始.加载并播放第二个音频后,即使音频播放完成(我通过"timeupdate"事件跟踪),"已结束"事件也不会再次触发.即使我手动播放任何其他音频文件,"已结束"事件也不会再次触发.但在Chrome和移动游戏中,这个问题似乎不存在,音频播放器可以连续播放从第一个音频到最后一个音频.这是适用于Mac OS X的Safari 5.1的错误吗?(我没有在Windows中测试它)

目前,我只能使用"timeupdate"事件来检查游戏是否结束.

safari audio events html5

8
推荐指数
1
解决办法
1595
查看次数

iOS 6 "HTML Input file tag" doesn't work if load the web page in UIWebView

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 file-upload objective-c uiwebview

2
推荐指数
1
解决办法
1783
查看次数