小编kem*_*ica的帖子

为什么我的three.js场景中的聚光灯仍然在相机视角中居中,但仅限于Chrome for Android?

我目前正在使用AngularJS和Three.js来尝试开发一个VR应用程序的小例子.我已根据用户代理是否是移动设备来定义控件.这是一个狡猾的方法,但它只是一个例子.OrbitControls用于非移动设备,否则使用DeviceOrientationControls.

var controls = new THREE.OrbitControls(camera, game.renderer.domElement);
controls.noPan  = true;
controls.noZoom = true;

controls.target.set(
    camera.position.x,
    camera.position.y,
    camera.position.z
);

// Really dodgy method of checking if we're on mobile or not
if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
    controls = new THREE.DeviceOrientationControls(camera, true);
    controls.connect();
    controls.update();
}

return controls;
Run Code Online (Sandbox Code Playgroud)

我还创建了一些实际显示的对象.

this.camera     = new THREE.PerspectiveCamera(90, window.innerWidth / window.innerHeight, 0.001, 1000);

this.camera.position.set(0, 15, 0);

    this.textGeometry = new THREE.TextGeometry("Hello World", { size: 5, height: 1 });

    this.textMesh = new THREE.Mesh(this.textGeometry, new THREE.MeshBasicMaterial({
        color: 0xFF0000, opacity: 1
    }));

    this.textMesh.position.set(-20, 0, …
Run Code Online (Sandbox Code Playgroud)

javascript android google-chrome three.js

39
推荐指数
1
解决办法
948
查看次数

如何在Swift3中取消DispatchQueue.main.asyncAfter(截止日期:时间)?

描述:

我目前正在使用以下代码来查看用户是否已停止在searchBar中输入内容.每当用户在0.5几秒钟后立即开始输入时,我想取消它.

码:

DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
    // your function here
}
Run Code Online (Sandbox Code Playgroud)

题:

DispatchQueue.main.asyncAfter如果用户再次开始输入,如何取消Swift3

我尝试过的:

我之前尝试过实施:

NSObject.cancelPreviousPerformRequests(withTarget: self)
self.perform(Selector(("searchForText:")), with: searchString, afterDelay: 0.5)
Run Code Online (Sandbox Code Playgroud)

然而,延迟似乎没有正常工作.

更多代码:

//In class SearchViewController: UITableViewController, UISearchResultsUpdating
func updateSearchResults(for searchController: UISearchController) {
    let searchString: String = searchController.searchBar.text!

    //This is what I previously tried.. which doesn't work...
    //NSObject.cancelPreviousPerformRequests(withTarget: self)
    //self.perform(Selector(("searchForText:")), with: searchString, afterDelay: 0.5)

    //A struct with the first example code shown above.
    Utils.Dispatch.delay(secondsToDelay: 1){
        print("1 second has passed ! " + …
Run Code Online (Sandbox Code Playgroud)

swift tvos swift3

18
推荐指数
1
解决办法
8648
查看次数

搜索查询如何与我的视频(/ me/videos)的Vimeo API配合使用?

描述

我试图了解Vimeo API的"搜索查询"是如何工作的.我甚至通过Vimeo API上的" 游乐场 "为开发人员试用了它.

视频购物vimeo api Vimeo游乐场的屏幕截图.正如您所看到的,查询采用"字符串",但没有关于它如何工作的描述.

我试图通过我放在标题中的关键字来查找视频.我已经使用游乐场测试并查看查询实际上是如何工作的.

我试过的

使用NOTHING填写上图中的"查询"文本框会返回2个结果.

{
    "total": 2,
    /* Rest of data here */
}
Run Code Online (Sandbox Code Playgroud)

这是预料之中的,因为到目前为止我只上传了两个视频.

我试图在查询中添加标题中的单词,但它们总是返回0结果.

这是我正在使用的PHP代码,当然返回0结果.

public function findVimeoVideoByKeyword($keyword) {
    $response = $this->lib->request('/me/videos', [
        'query' => $keyword
    ]);

    # handle response code here...
}
Run Code Online (Sandbox Code Playgroud)

这是我在搜索标题中的特定单词时转储的返回数据(0结果):

VimeoService.php on line 168:
array:3 [?
  "body" => array:5 [?
    "total" => 0 //0 results
    "page" => 1
    "per_page" => 25
    "paging" => array:4 [?]
    "data" => []
  ]
  "status" => 200
  "headers" …
Run Code Online (Sandbox Code Playgroud)

php vimeo symfony vimeo-api

16
推荐指数
1
解决办法
2315
查看次数

UITextField的键盘是否必须占用整个屏幕?

看来键盘不必占用整个屏幕,请查看我帖子的问题栏中的UPDATE.谢谢.

描述

使用UITextField在屏幕上放置全屏键盘.

参考

我已经设置了一个UISplitViewController,我希望RootViewController(又名MasterViewController)有UITextField键盘显示.然后我想在右边搜索结果(在"ResultViewController"(UIViewController)中).

这个想法是当用户输入时,提出结果.

我尝试过的:

我首先添加了一个UITextField到我的RootViewController通道,storyboard但是当我通过激活键盘时占用了整个屏幕textField.becomeFirstResponder().

我想如果我使用了UIAlertController这个问题,但是键盘仍然会占据整个屏幕.

class RootViewController: UIViewController {

 override func viewDidLoad() {

    let alertController = UIAlertController(title: "Search", message: "Search for something!.", preferredStyle: UIAlertControllerStyle.Alert)

    alertController.addTextFieldWithConfigurationHandler({(textField: UITextField!) in
        textField.placeholder = "Search"
    })
    self.addChildViewController(alertController)
    alertController.view.frame = self.view.frame
    self.view.addSubview(alertController.view)
 }
}
Run Code Online (Sandbox Code Playgroud)

题:

使用UISplitViewController时我怎样才能让键盘只停留在其中RootViewController并且不占用整个屏幕?

更新:看来这已在新苹果电视上的Netflix应用程序中实现.键盘位于顶部,占据整个宽度.底部分为两部分.左侧是建议的单词结果,右侧是可能视频的视频封面的集合视图.一切都在用户输入时更新.

如果这被认为是Apple TV的糟糕设计,那么请随时指出原因.

截屏:

这就是我目前得到的.文本框打开一个占据整个屏幕的键盘.

在此输入图像描述

uikeyboard swift tvos

14
推荐指数
2
解决办法
1159
查看次数

DK2头部跟踪无法正常工作"在Windows上关闭HMD电源,检查HDMI连接"

第1部分 - 问题描述

我有DK2,我正在研究一个VR项目.这个项目使用FirefoxNightly.我已经下载并安装了WebVR Enabler Add-On

开始使用webvr

http://mozvr.com/downloads/得到这个


我还从https://developer.oculus.com/downloads/下载并安装了最新的SDK和Runtime for Windows.

入门2 webvr


我也在Oculus配置实用程序中获取此功能(当插入oculus时):

occulus配置实用程序

然而,我已经在另一台带有Windows的计算机上安装了所有内容,就像在这台Windows计算机上一样,它清楚地显示Oculus Rift正确连接但头部跟踪仍无法正常工作.

编辑:我只是尝试将oculus裂缝连接到这个"第二"电脑(戴尔笔记本电脑),现在它甚至不识别眼裂谷.仍然没有头部追踪.

编辑2:我尝试在第三台PC上安装所有内容但没有成功.我在Oculus配置实用程序上获得"服务不可用"


我的显示模式设置如图所示.

扩展显示模式


第2部分 - 问题

我究竟做错了什么?有没有我忘了做的一步?奇怪的是,我在Mac上运行的项目没有任何问题.是的,在Windows上我可以看到屏幕,oculus rift但头部检测不存在.

第3部分 - 无效的可能修复列表

这篇reddit帖子讨论了防火墙问题,但是我尝试了在防火墙失效但没有成功的情况下的oculus rift.

这个reddit帖子通过重新安装所有内容并更新某些驱动程序来讨论可能的修复方法.但是我一步一步地遵循此修复程序而没有成功.

这个oculus论坛帖子讨论了这个问题,一个人提出了一个适合他/她的解决方案.我没有成功地跟着修复.

第4部分 - 系统信息

如果您需要特定翻译,请通知我.这是法语.

系统信息

第5部分 - 我曾经想过的事情清单

  1. 我重新安装了一切.SDK(实际上甚至不需要),运行时,firefoxnightly,webvr加载项多次
  2. 我多次重启我的电脑
  3. 我试过了不同的 Rift Display Mode
  4. 来自mozvr.com和其他基于webvr的项目的基本演示工作正常,但头部跟踪不起作用.
  5. 我的Oculus没有坏掉(也许是针对Windows),它适用于Mac.
  6. 我尝试使用不同的HDMI线和不同的minUSB-USB线没有成功.

第6部分 - 来自论坛的报价

第一篇文章

这听起来像我们很多人在使用0.5和0.6版本时遇到的问题.电缆没有问题,但是运行时本身.直接模式完美无瑕地工作,在扩展模式下,裂缝仍然显示图片,但运行时没有任何跟踪等.希望它能在下次更新中修复.

windows oculus webvr firefox-nightly oculus-runtime

13
推荐指数
2
解决办法
8534
查看次数

使用Normalizer的Serializer在使用setCircularReferenceHandler时不返回任何内容

题:

当我设置setCircularReferenceHandler回调时,为什么我的响应返回"空白" ?

编辑:

看起来它什么都不返回,但确实将标题设置为500 Internal Server Error.这是令人困惑的,因为Symfony应该发送有关错误的某种错误响应?

$json = $serializer->serialize($data, 'json');在try/catch中包装但没有抛出显式错误,因此没有捕获任何内容.任何想法都会非常有用.

语境:

查询实体媒体时,我得到一个空白的回复.实体媒体(与Doctrine)映射到实体作者.由于它们是链接的,因此在尝试序列化时可能会发生无限循环.

我曾希望使用循环参考处理程序,我可以避免这一点,但它不起作用.

错误:

当我没有设置循环引用处理程序时,这是我得到的错误:

序列化类"Proxies__CG __\AppBundle\Entity\Author\Author"(配置限制:1)的对象时检测到循环引用(500内部服务器错误)

现在这个错误是完全可以预料的,因为我的实体作者在最初查询Media时指向了Entity Media(Media -> Author -> Media)

   class Author implements JsonSerializable {

     //Properties, Getters and setters here

     /**
     * Specify data which should be serialized to JSON
     * @link http://php.net/manual/en/jsonserializable.jsonserialize.php
     * @return mixed data which can be serialized by <b>json_encode</b>,
     * which is a value of any type other than …
Run Code Online (Sandbox Code Playgroud)

php symfony doctrine-orm php-7.1 symfony-3.3

11
推荐指数
1
解决办法
979
查看次数

如何在Swift3.0中居中对齐UICollectionView的单元格?

描述:

答案Objective-CSwift2.0:如何居中对齐UICollectionView的单元格?

我通常会尝试将Swift2.0答案转换为Swift3.0解决方案,但方法是:

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAtIndex section: Int) -> UIEdgeInsets {
        let edgeInsets = (screenWight - (CGFloat(elements.count) * 50) - (CGFloat(elements.count) * 10)) / 2
        return UIEdgeInsetsMake(0, edgeInsets, 0, 0);
    }
Run Code Online (Sandbox Code Playgroud)

似乎不存在Swift3.0,我找到的唯一有用的方法似乎是:

func collectionView(_ collectionView: UICollectionView, transitionLayoutForOldLayout fromLayout: UICollectionViewLayout, newLayout toLayout: UICollectionViewLayout) -> UICollectionViewTransitionLayout {
        <#code#>
}
Run Code Online (Sandbox Code Playgroud)

但我不确定如何正确实施它.

题:

如何对准一个UICollectionViewin 的细胞Swift3.0

(iOS和tvOS的简单通用解决方案将是完美的)

ios swift tvos swift3

10
推荐指数
3
解决办法
2万
查看次数

错误:无法找到路径"/ login_check"的控制器.路由配置错误.(LexikJWTAuthentication)

描述

当我对运行在其上的symfony服务器执行正常请求时http://localhost:8000/api/admin/login_check,返回所需的jwt令牌.

但是,当我使用功能测试(with ./bin/phpunit)时,我收到以下错误:

错误:无法找到path \"/ api/admin/login_check \"的控制器.路由配置错误.

我还浏览了功能测试文档.

Bug转载

不要犹豫克隆或分叉这个项目进行测试.有README.md解释安装步骤.

我还能够通过克隆lexikjwtauthenticationbundle的创建者之一提供的工作示例来重现该bug.

日志

测试日志(错误)

运行时发生 ./bin/phpunit

[2019-01-31 09:37:49] request.INFO: Matched route "api_admin_login_check". {"route":"api_admin_login_check","route_parameters":{"_route":"api_admin_login_check"},"request_uri":"http://localhost/api/admin/login_check","method":"POST"} []
[2019-01-31 09:37:49] security.INFO: Populated the TokenStorage with an anonymous Token. [] []
[2019-01-31 09:37:49] request.WARNING: Unable to look for the controller as the "_controller" parameter is missing. [] []
Run Code Online (Sandbox Code Playgroud)

开发日志(成功)

执行curl或postman请求时发生

[2019-01-29 21:16:26] request.INFO: Matched route "api_admin_login_check". {"route":"api_admin_login_check","route_parameters":{"_route":"api_admin_login_check"},"request_uri":"https://localhost:8000/api/admin/login_check","method":"POST"} []
[2019-01-29 21:16:27] doctrine.DEBUG: SELECT t0.id AS id_1, t0.email …
Run Code Online (Sandbox Code Playgroud)

php phpunit functional-testing lexikjwtauthbundle symfony4

10
推荐指数
1
解决办法
610
查看次数

如何在Symfony中设置Typescript?

题:

如何使用Symfony设置Typescript,同时对Symphony的配置文件进行最少量的配置更改?

以下是此解决方案应解决的问题:

  1. 私有打字稿目录中的Typescript MVC Pattern:

    src> XBundle>资源>私有>打字稿

  2. 编译的Javascript包:

    src> XBundle>资源> public> js

  3. 私人目录应包含多个不同页面的应用程序.(如果应用程序需要它自己的tsconfig.json文件,那很好)

  4. 一个应用程序只是(例如)home.app.ts导入(例如)search.component.tschat.component.ts

  5. 编译的"apps"应位于第(2)点中提到的public> js存储库中,并且应该命名(示例来自第(4)点)home.bundle.js

  6. public > js文件夹中,应该只有x.bundle.js文件

  7. 将包添加到我的twig文件,并调用我的视图应立即运行该包.我不应该添加额外的脚本来调用" module"(这就是为什么我要避免AMD/ System)

我不想要的:

不是在寻找一个解决方案react,并angular而是使用一个通用的解决方案/web在symfony项目的根目录下(甚至是资源目录中包).

关于这个的大多数文章谈论symfony2和尝试整合reactangular.

我不是在寻找npm和tsc的安装教程.

我不需要自动编译.我使用Phpstorm,所以它无论如何都会自动执行.

symfony typescript webpack symfony-3.1 typescript2.0

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

如何在 Android/iOS 上的 webview/移动浏览器中最好地预缓存视频?

描述

随着同步 的快速移除XMLHttpRequest(即:Chrome 88 正在移除它),我正在寻找下一个预缓存视频的最佳替代方法。

“同步 XMLHttpRequest 是一个可怕的想法” - 从来没有人说过

是的,您适合大多数情况,但这是不同的。

之前

,我工作的公司有一个 SDK,可以在后台打开,将 HTML 注入其中并等待onload事件触发。当 webview 准备好向用户显示时,这会通知 SDK。

这是必要的,当视频播放有NO缓冲任何可能的最佳体验。

这就是为什么当 webview 在后台加载时,我们使用 XMLHttpRequest 同步预缓存视频(因此,延迟onload事件被触发)。

可能的解决方案

我们考虑了一些不同的解决方案,它们各有优缺点;这里有一些:

  1. 通过预加载内容<link rel="preload" ... />
  2. 将视频嵌入到index.htmlbase64页面内(如果视频重量为2-3Mo,则转换为base64后重量会增加30%)

(1) 是最干净的方法,但由于各种原因需要对我们的后端进行一些重大更改。也不保证在浏览器/网络视图出现时视频将被完全缓存。不能保证预缓存的优先级在 web 视图和移动浏览器中是相同的。用户可以停用预缓存功能,例如,在他们的 Chrome 配置中。当连接为 4G 或更低时,它也不起作用(叹气)。

(2) 是一种笨拙且未经优化的方法,但与 (1) 相比,实施起来相对简单

在 …

html javascript android webview ios

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