好吧,我知道这对每个人来说都是新的,但我认为这是一个简单的概念 - 我在这里遵循这个来制作自定义贴纸消息应用程序扩展:
https://code.tutsplus.com/tutorials/create-an-imessage-app-in-ios-10--cms-26870
我已经完全复制了所有内容,并尝试创建一个基本的 MSStickerBrowserView 显示(然后使用逻辑过滤,但尚未尝试)我在我的资产文件夹中的贴纸 png:
该教程似乎没有从资产加载,而只是从他们的项目加载,无论他们的代码在这里是否旧:
var stickers = [MSSticker]()
func loadStickers() {
for i in 1...2 {
if let url = Bundle.main.urlForResource("Sticker \(i)", withExtension: "png") { //ERROR!!
do {
let sticker = try MSSticker(contentsOfFileURL: url, localizedDescription: "")
stickers.append(sticker)
} catch {
print(error)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误
Bundle 没有成员 URLforResource
我找不到任何关于此的信息。如何在应用程序中以编程方式显示我的贴纸?
错误:
这些是我尝试加载的图像,无论其名称如何:
我看过所有类似的问题,但没有一个对我有用。我有一个节点js应用程序,其中无法使用body-parser从表单打印输入文本。
我的index.ejs:
<form id="demo-2" method = "POST" action="/search">
<input type="search" name = "searcher" placeholder="Search">
</form>
Run Code Online (Sandbox Code Playgroud)
Index.js:
var cool = require('cool-ascii-faces');
var express = require('express');
var app = express();
var pg = require('pg');
var bodyParser = require('body-parser');
var env = require('node-env-file');
app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/views/'));
// views is directory for all template files
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
//app.use(express.bodyParser());
//DIFFERENT APPS - tells them what to do
app.post('/search', function(request, response) {
//var username = req.body;
console.log("posted …
Run Code Online (Sandbox Code Playgroud) 好吧,所以我不知道这个名字,但我有一个精灵套件游戏(一个亚军游戏),当它的游戏结束时,将有一个"保存我"按钮和一个相应用完的计时器.当计时器用完时,您不能再单击该按钮并保存该字符.
我不想在文本中显示这个计时器 - 我想要一个"松开"的圆圈,如果你愿意的话,并以计时器用完的速度消失.即当计时器达到0时,圆圈已完全消失.圆圈根据计时器以顺时针方向逐渐消失.
我该怎么做?
我只是想看看是否有一种既定的方法来做到这一点,或者人们将如何做到这一点。
我有一个文本字段,它本质上充当我的 iOs 应用程序中的一个表单,用户可以在其中发布一些内容。我不能让用户发布脏话/不恰当的废话,所以如果他们输入的字符串包含这些单词之一,我想过滤掉并显示错误。
Swift 中的其他应用程序是如何做到这一点的?他们只是搜索字符串以查看它是否包含该单词(显然不在其他单词内,而是单独存在)还是有其他方法?
如何准确过滤掉 Swift 用户帖子中的脏话?
好的,像其他所有人一样,我在ARKit /世界空间中拖动/转换SCNNode时遇到麻烦。我已经看过使用SceneKit在ARKit中拖动SCNNode以及所有流行的问题,以及苹果公司的代码https://github.com/gao0122/ARKit-Example-by-Apple/blob/master/ARKitExample/VirtualObject.swift
Ive试图尽可能简化,并且做到了我在普通场景工具包游戏中所做的事情-http: //dayoftheindie.com/tutorials/3d-games-graphics/t-scenekit-3d-picking-dragging/
我可以获取被点击的对象并存储当前的手指pos没问题:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
guard let touch = touches.first else { return }
let results = gameView.hitTest(touch.location(in: gameView), types: [ARHitTestResult.ResultType.featurePoint])
//TAP Test
let hits = gameView.hitTest(touch.location(in: gameView), options: nil)
currentTapPos = getARPos(hitFeature: hitFeature) //TAP POSITION
if let tappedNode = hits.first?.node {
Run Code Online (Sandbox Code Playgroud)
但是,我的问题是在更新中执行此操作-没有动画。该对象仅出现在我轻按的位置,并且总体上不起作用-
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
guard let touch = touches.first else { return }
let results = gameView.hitTest(touch.location(in: gameView), …
Run Code Online (Sandbox Code Playgroud) 我正在尝试实现此答案的效果,但没有文本:Expand Bottom border on hover
并且知道这可以通过从中心增长整个 div 来实现,如下所示: http: //jsfiddle.net/wNXLY/但不知道如何用线条创建这种效果(即保持高度静态)
我在这里创建了我的行:
.line {
background: white;
width: 300px;
top: 10%;
height: 3.2px;
margin:auto;
position: relative;
}
Run Code Online (Sandbox Code Playgroud)
并且需要在页面加载时使线条从中心增长。我怎样才能做到这一点?
好吧,我在C#中使用Unity工作,并且我创建了一些简单的函数来根据玩家的z位置无限地生成一系列平台(游戏对象).一旦游戏对象安全地消失,我会将其删除,并在每次玩家向前移动时调用此更新方法:
void spawnSectorGroup()
{
int i = numSectorsToSpawn; //get position of last sectors, when its exceeded by player then delete and spawn again
while (i >= 0) {
int j = Random.Range (0, sectors.Length);
spawnSector (gamePosition.position, sectors [j]);
i--;
}
}
void checkAndUpdateSectors()
{
//print ("Player pos"+playerPosition.position);
//print ("last sector"+gamePosition.position);
if (gamePosition.position.z - playerPosition.position.z <= 20) { //safe value ahead
print ("theyre almost there, spawn new group");
print (gamePosition.position.z - playerPosition.position.z);
spawnSectorGroup ();
}
//destroy past ones
GameObject[] objects = …
Run Code Online (Sandbox Code Playgroud) 好吧,我不知道如何解决这个问题,只是在尝试在UI Text组件上放入一些较长的文本后才遇到这个问题.我已尝试通过Unity编辑器将值粘贴到其Text属性中,并以编程方式设置其值,如下所示:
t.GetComponent<Text> ().text = "This is where meat, fish, and [...] (long text)"
Run Code Online (Sandbox Code Playgroud)
由于水平换行已打开,因此文本在到达可用空间的边缘时会换行.
但是,文本向后显示.意思是,段落的开头位于底部,底部位于顶部.脱掉包装修复了这个,但是字体大小必须非常小(或者它不会全部可见),并且它不能形成正常的段落,因为它必须...你知道...换行.
这是Unity中的一个错误吗?
这就是发生的情况 - 正如您所看到的,它向后显示:
我试图在我的AR场景中实例化的SCNNode上检测一个点击.它似乎没有像SceneKit那样在这里测试结果,我对场景套件没有多少经验.
我只是想检测点击点是否包含在场景中的任何节点内,从而检测到对象上的点击.我从其他答案中尝试过:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
guard let touch = touches.first else { return }
let results = sceneView.hitTest(touch.location(in: sceneView), types: [ARHitTestResult.ResultType.featurePoint])
guard let hitFeature = results.last else { return }
let hitTransform = SCNMatrix4.init(hitFeature.worldTransform)
let hitPosition = SCNVector3Make(hitTransform.m41,
hitTransform.m42,
hitTransform.m43)
if(theDude.node.boundingBoxContains(point: hitPosition))
{
}
}
Run Code Online (Sandbox Code Playgroud)
没有用最后一个if语句打印,我得到了:
extension SCNNode {
func boundingBoxContains(point: SCNVector3, in node: SCNNode) -> Bool {
let localPoint = self.convertPosition(point, from: node)
return boundingBoxContains(point: localPoint)
}
func boundingBoxContains(point: SCNVector3) -> Bool { …
Run Code Online (Sandbox Code Playgroud) 好的,我在处理集合视图时遇到了问题。这就是我想要实现的 - 1 个大的 MAIN 页眉和页脚,然后嵌套在里面,需要一些数量(例如:4)个部分都只有 HEADERS。像这样:
------
tiny header 1
------
[a][b][c]
------
tiny header 2
------
[a][b][c]
Run Code Online (Sandbox Code Playgroud)
查看类似的答案,我首先尝试创建不同的小节,因为现在我只有所有集合视图单元格以及一个大页脚和页眉。问题是不管我有什么,我只剩下 1 节:
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
return 4
}
Run Code Online (Sandbox Code Playgroud)
我不知道为什么。我从情节提要中获取我的收藏视图并将其设置如下:
@IBOutlet var collectionView: UICollectionView!
self.collectionView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0) //-44
self.collectionView.backgroundColor = UIColor.white
func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView {
switch kind {
case UICollectionElementKindSectionHeader:
let headerView = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "headerCell", for: indexPath as …
Run Code Online (Sandbox Code Playgroud)