小编Hun*_*apa的帖子

我怎样才能加快UISnapBehavior的速度?

通过添加带阻力的UIDynamicItemBehavior,我可以轻松地使捕捉速度变慢.但是,阻力的默认值是0.0,这对我来说仍然太慢.将阻力设置为负值没有任何影响,它似乎移动到0.0.

如何让UISnapBehavior更快?

(以下是使捕捉速度变慢的示例):

UIDynamicItemBehavior *dynamicItemBehavior = [[UIDynamicItemBehavior alloc] initWithItems:@[button]];
dynamicItemBehavior.resistance = 50.0; // This makes the snapping SLOWER
UISnapBehavior *snapBehavior = [[UISnapBehavior alloc] initWithItem:button snapToPoint:point];
[self.animator addBehavior:button.dynamicItemBehavior];
[self.animator addBehavior:button.snapBehavior];
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c ios uikit-dynamics

3
推荐指数
1
解决办法
2714
查看次数

可用的och不可用的初始化器阻止我扩展NSView并实现NSCoding

我有一个实施的问题子类NSView实现NSCoding.

似乎声明init(coder: NSCoder)NSView和中是冲突的NSCoding. NSView如今说它可以使用,但NSCoding仍然说它是不可用的.

当我尝试覆盖init(coder: NSCoder)并执行自定义初始化时,Xcode 6.1给出了一条错误消息:

一个不可用的初始化程序无法链接到用'init?'编写的可用初始化程序'init(coder :)'

我该如何做我班级的自定义初始化?

这是一个愚蠢的例子,我扩展了一个视图,我想为我的视图保留一个额外的点击计数器.

import Cocoa
import Foundation

class MyView: NSView, NSCoding {

    var clickCounter:Int = 0

    required init(coder: NSCoder) {
        super.init(coder: coder)
        coder.encodeObject(self.clickCounter,
                forKey: "clickCounter")
    }

    override func encodeWithCoder(coder: NSCoder) {
        super.encodeWithCoder(coder)
        coder.encodeObject(self.clickCounter, forKey: "clickCounter")
    }

    override func mouseDown(theEvent: NSEvent) {
        clickCounter++
    }    
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

macos xcode cocoa nscoding swift

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

标签 统计

cocoa ×1

cocoa-touch ×1

ios ×1

macos ×1

nscoding ×1

objective-c ×1

swift ×1

uikit-dynamics ×1

xcode ×1