gpt4 book ai didi

ios - 向形状添加手势 - c4framework

转载 作者:可可西里 更新时间:2023-11-01 05:42:18 25 4
gpt4 key购买 nike

我只是在学习如何使用 C4 框架并尝试向形状添加手势,但我似乎无法弄清楚如何让它们做任何事情。当我尝试在点击按钮后更改按钮的位置时,以下方法会产生错误。

[buttonA addGesture:TAP name:@"tapGesture" action:@"setPosition"];

这是我得到的错误:* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[MyButton setPosition]:无法识别的选择器发送到实例 0x7661b60”

最佳答案

我猜你得到错误的原因是因为 setPosition 方法是因为你试图直接在 C4Shape 对象上运行 setPosition 方法。 C4Shapes 本身没有这个方法。

在 C4 中,所有对象都可以附加手势,但是为了在对象上触发手势时运行任何自定义代码,您应该首先子类化 C4Shape 并编写一个特殊方法来处理您想要看到的行为。

例如,我会像这样创建一个 MyShape 类:

@interface MyShape : C4Shape
-(void)setNewPosition;
@end

@implementation MyShape
-(void)setNewPosition {
//will set the center of the shape to a new random point
self.center = CGPointMake([C4Math randomInt:768], [C4Math randomInt:1024]);
}
@end

然后,在我的 C4WorkSpace 中:

#import "C4WorkSpace.h"
#import "MyShape.h"

@implementation C4WorkSpace {
MyShape *newShape;
}
-(void)setup {
newShape = [MyShape new];
[newShape ellipse:CGRectMake(100, 100, 200, 200)];
[newShape addGesture:TAP name:@"tapGesture" action:@"setNewPosition"];
[self.canvas addShape:newShape];
}
@end

这应该为新的子类形状注册一个点击手势,并在触发手势时运行其 setNewPosition 方法。

关于ios - 向形状添加手势 - c4framework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10231579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com