小编Cra*_*lot的帖子

如何在Ruby中使用HMAC模块创建MD5哈希?

使用Google + Bing并没有给出一个简单问题的答案:

你应该如何在Ruby中使用HMAC模块来创建一个带MD5的HMAC(使用秘密)?

HMAC文档似乎非常薄.

谢谢!

ruby md5 ruby-on-rails hmac

7
推荐指数
2
解决办法
5691
查看次数

使用jQuery Mobile加载时的白页

我们在www.tekiki.com上为移动HTML5应用程序使用jQuery Mobile 1.3.2 .(从iPhone上查看,或从桌面上查看www.tekiki.com/dandy/dandy.)

加载后,JQM会在加载屏幕和应用程序的第一页之间显示一个白页.JQM中是否有设置来压制加载屏幕?我们发现的最接近的是$.mobile.loading(),但这仅适用于加载文本.我们希望整个白屏消失,这意味着应用程序应该直接从加载屏幕转到第一页.

iphone jquery html5 mobile-safari jquery-mobile

7
推荐指数
1
解决办法
4974
查看次数

Swift - 如何更改SCNNode对象的Pivot

我一直在玩SCNNode对象一段时间了,我迷失了Pivot.如何更改SCNNode的枢轴(SCNBox作为条形图)并将枢轴放在条形边缘之一上?

pivot scenekit swift

7
推荐指数
1
解决办法
1万
查看次数

runBlock发生后,在SKAction.sequence中延迟下一个动作(Swift)?

duration财产moveTo时,里面没有跟随runBlock,允许在一个序列中的后续行动,立即得到时,它应该只得到执行后,执行duration秒.

代码A(序列正确执行):

let realDest = CGPointMake(itemA.position.x, itemA.position.y)
let moveAction = SKAction.moveTo(realDest, duration: 2.0)

itemB.runAction(SKAction.sequence([SKAction.waitForDuration(0.5), moveAction, SKAction.runBlock {
    itemB.removeFromParent()
}]))
Run Code Online (Sandbox Code Playgroud)

代码B(序列未正确执行):

let badMoveAction = SKAction.runBlock {
    let realDest = CGPointMake(itemA.position.x, itemA.position.y)
    let moveAction = SKAction.moveTo(realDest, duration: 2.0)
    itemB.runAction(moveAction)
}

itemB.runAction(SKAction.sequence([SKAction.waitForDuration(0.5), badMoveAction, SKAction.runBlock {
    itemB.removeFromParent()
}]))
Run Code Online (Sandbox Code Playgroud)

Code A,完成后(大约2秒)itemB删除moveAction.这是正确的顺序.

In Code B,itemBbadMoveAction完成之前被移除,意味着itemB永远不会从原始位置移动.好像持续时间属性没有被尊重Code B.

我们如何移动itemB,Code B但确保序列中的下一个操作直到badMoveAction …

ios sprite-kit swift

7
推荐指数
1
解决办法
5651
查看次数

SKNode子类生成错误:无法为没有参数的类型"X"调用初始化程序

SKNodes可以使用空的初始化程序进行初始化,例如let node = SKNode().SKNode但是,子类化会破坏此功能.在子类化之后SKNode,Xcode在尝试在子类上使用空初始化程序时会生成此错误:

Cannot invoke initializer for type "X" with no arguments
Run Code Online (Sandbox Code Playgroud)

假设SKNodeSubclass是子类SKNode,该行let node = SKNodeSubclass()生成此错误.

是否有可能从SKNode继承并使用像SKNode一样的空初始化器?

class StatusScreen: SKNode {

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }


    init(gridWidth: CGFloat, deviceHeight: CGFloat) {
        super.init()

        // Do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

sprite-kit swift

7
推荐指数
1
解决办法
1972
查看次数

如何使AVPlayer立即显示而不是在视频结束后?

我们的应用程序允许用户录制视频,然后应用程序添加字幕并导出已编辑的视频.

目标是立即重播视频,但AVPlayer仅在视频结束后出现(并且仅播放音频,这是一个单独的问题).

以下是现在发生的事情:我们显示预览,以便用户可以实时查看他正在录制的内容.用户完成录制后,我们要播放视频以供审核.不幸的是,没有视频出现,只播放音频.当音频完成播放时,会出现表示视频某帧的图像.

为什么会这样?

func exportDidFinish(exporter: AVAssetExportSession) {
    println("Finished exporting video")

    // Save video to photo album
    let assetLibrary = ALAssetsLibrary()
    assetLibrary.writeVideoAtPathToSavedPhotosAlbum(exporter.outputURL, completionBlock: {(url: NSURL!, error: NSError!) in
        println("Saved video to album \(exporter.outputURL)")
        self.playPreview(exporter.outputURL)
        if (error != nil) {
            println("Error saving video")
        }
    })
}


func playPreview(videoUrl: NSURL) {
    let asset = AVAsset.assetWithURL(videoUrl) as? AVAsset
    let playerItem = AVPlayerItem(asset: asset)
    player = AVPlayer(playerItem: playerItem)
    let playerLayer = AVPlayerLayer(player: player)
    playerLayer.frame = view.frame
    view.layer.addSublayer(playerLayer)
    player.play()
}
Run Code Online (Sandbox Code Playgroud)

video avfoundation ios avplayer swift

7
推荐指数
1
解决办法
952
查看次数

UICollectionViewCellawakeFromNib 从未被调用,即使 registerNib 被调用

下面的代码尝试UICollectionView在自定义视图中创建一个。由于UICollectionView不是在 Storyboard 中创建的,这意味着UICollectionViewCells在 XIB 中创建自定义。

但是,awakeFromNib从未为自定义调用该函数UICollectionViewCell,这会导致呈现UICollectionView.

如何解决这个问题?

自定义视图.swift:

class CustomView : UIView, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {

    @IBOutlet weak var collectionView: UICollectionView!

    private func doInit() {
        if let nibsView = NSBundle.mainBundle().loadNibNamed("CustomCellView", owner: self, options: nil) as? [UIView] {
            let nibRoot = nibsView[0]
            self.addSubview(nibRoot)
            nibRoot.frame = self.bounds

            // Register UICollectionViewCell NIB
            collectionView.registerNib(UINib(nibName: CustomCellNib, bundle: nil), forCellWithReuseIdentifier: CustomCellID)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

CustomCell.swift:

class CustomCell: UICollectionViewCell {

    override func awakeFromNib() {
        super.awakeFromNib() …
Run Code Online (Sandbox Code Playgroud)

uikit ios uicollectionview uicollectionviewcell swift

7
推荐指数
1
解决办法
3309
查看次数

SceneKit:在SCNView上渲染SpriteKit粒子系统时应用程序崩溃,当所有代码似乎都是系统代码的一部分时如何调试

SpriteKit在a的overlaySKScene属性中运行粒子系统SCNView会导致应用程序与下面的堆栈跟踪一起崩溃.

基于堆栈跟踪,似乎所有系统代码都在运行,所以你应该如何调试崩溃,更重要的是,确定它是否是SceneKit/SpriteKit的错误或应用程序中的错误?

对于它的价值,下面是添加粒子系统的函数,但它没有在堆栈跟踪中引用.

fileprivate func animateFireworks(scnPoint: CGPoint, color: UIColor) {
    // Set emitter properties
    let particleBirthRate = CGFloat(150)
    let maxParticles = 50
    let numEmitters = 5

    // SceneView point -> SpriteKit point
    let skOverlayPoint = skOverlay.convertPoint(fromView: scnPoint)

    // Create emitters
    for _ in 0..<numEmitters {
        let fireworksEmitter = SKEmitterNode(fileNamed: ExplosionEmitterFilename)!

        // Set particle size
        let particleSize = CGSize(width: 20, height: 20)
        fireworksEmitter.particleSize = particleSize

        // Set color for emitter
        fireworksEmitter.particleColorSequence = nil
        fireworksEmitter.particleColor = color …
Run Code Online (Sandbox Code Playgroud)

particle-system scenekit sprite-kit swift

7
推荐指数
1
解决办法
362
查看次数

JavaScript事件处理的竞争条件?

我们知道JavaScript是单线程的,但我们想确认我们对JavaScript中异步事件处理的理解.更重要的是,我们想确认我们没有遇到潜在的竞争条件.

从概念上讲,我们的移动应用是这样的:

  1. 我们foo在加载移动页面时调用函数.

  2. 最后foo,如果计数器大于,我们setTimeoutfoo再次调用(延迟一秒)0.如果计数器命中0,我们加载一个新页面.超时保存在变量中.

  3. 如果点击了一个按钮,我们调用函数do_tap并清除第二步中保存的超时变量(并执行其他操作).

do_tap并且foo都更新相同的页面元素,我们想确认它们不会互相踩踏.

问题:

  1. 假设在执行期间发生敲击foo.浏览器队列do_tap会在foo完成后开始执行吗?换句话说,我们保证一旦foo开始,我们永远不会看到执行foodo_tap交错吗?

  2. 如果首先出现水龙头怎么办?do_tap保证在foo开始前完成,对吧?

javascript jquery html5 javascript-events

6
推荐指数
2
解决办法
6485
查看次数

用户在HTML5画布应用程序中绘制的平滑锯齿线条?

我们有一个HTML5绘图应用程序,用户可以使用铅笔工具绘制线条.

与基于Flash的绘图应用程序相比,这些线条略有锯齿状边缘,看起来有些模糊.发生这种情况是因为用户需要在绘制时保持线条完全笔直,或者算法会感知每个像素偏差并将其投影为锯齿状边缘.

因此,绘制光滑,锐利的圆圈是不可能的.

不知何故,其他绘图应用程序能够平滑这些锯齿状边缘,同时让用户绘制线条(直线或不线).

有没有办法可以平滑这些线?

演示(选择铅笔工具):http://devfiles.myopera.com/articles/649/example5.html

我们的应用使用类似的代码

javascript jquery html5 html5-canvas

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