Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode中的PaintCode动画_Xcode_Paintcode - Fatal编程技术网

Xcode中的PaintCode动画

Xcode中的PaintCode动画,xcode,paintcode,Xcode,Paintcode,我试图理解如何在Xcode中集成PaintCode动画。在我的例子中,我有一个从右向左的球。 我希望动画开始,只要应用程序启动和停止时,你停止按钮。 附件中是我迄今为止所做的工作: 当我运行时,它返回一个错误: 这里有几件事不对 第一个错误是您的trablell函数是用参数定义的,但是您从未通过NSTimer向它传递任何内容。如果要将参数传递给定时器触发函数,则应使用初始化的NSTimer参数 其次,您的NSTimer正在尝试调用选择器“trablell”,但是您的函数是用一个参数定义的

我试图理解如何在Xcode中集成PaintCode动画。在我的例子中,我有一个从右向左的球。 我希望动画开始,只要应用程序启动和停止时,你停止按钮。 附件中是我迄今为止所做的工作:

当我运行时,它返回一个错误:

这里有几件事不对
  • 第一个错误是您的
    trablell
    函数是用参数定义的,但是您从未通过
    NSTimer
    向它传递任何内容。如果要将参数传递给定时器触发函数,则应使用初始化的
    NSTimer
    参数

  • 其次,您的
    NSTimer
    正在尝试调用选择器
    “trablell”
    ,但是您的函数是用一个参数定义的。因此,它应该是
    “trablell:

  • 第三,我非常确定函数中的外部参数名称会干扰选择器名称

尝试将其更改为:

func drawBall(var fraction:CGFloat) {

...

}
还值得注意的是,您可以在swift中定义选择器,因此您可以在您的
NSTimer
中提供
“trablell:

此外,您还需要研究其他一些事情……

  • 您永远不会将
    分数
    变量传递到
    drawRect
    方法中
  • 您从不调用
    drawRect
    方法(通过使用
    setNeedsDisplay()
    执行此操作)

尝试将函数更改为
func-trabill(var-fraction:CGFloat)
出于某种原因,之前只出现了最后两行响应。我在NSTimer中提供了“drablell:”,并将函数更改为func-drablell(var分数:CGFloat)。我现在没有受到任何的迷恋,但是你可以猜到球没有移动。我不知道如何使用NSTimer初始化的userInfo参数来传递参数,我尝试了userInfo:(“分数”),但它不起作用。不,
userInfo
接受一个对象,而不是像
CGFloat
这样的原始时间。。。您使用
分数
变量到底是为了什么?对我来说,它看起来应该是一个实例变量(加上
计时器
计数器
变量),好吧。。。您永远不会将它传递到
UIView
drawRect
。。我认为您希望将动画逻辑移动到
UIView
(包括计时器),将分数变量作为实例变量,并将分数变量传递到
trablell
函数(在StyleKitName2类中)中。