1

我已经搜索了所有类似的问题,但找不到答案。我对此完全感到困惑......我有一个扩展 UIImageView 的类。所以这是我的 .h 文件:

@interface Paper : UIImageView {
@public
    CGFloat drag;
}

@property (nonatomic, assign) CGFloat drag;
@end

drag在我的实现中正确合成。

现在,在我的 ViewController 中,我创建并初始化一个 Paper 对象,如下所示:

NSString *tempPath = [[NSBundle mainBundle] pathForResource:@"picture" ofType:@"png"];
UIImage *tempImage = [[UIImage alloc] initWithContentsOfFile:tempPath];
Paper *tempPaper = [[UIImageView alloc] initWithImage: tempImage];

该对象是正确创建的,我稍后可以将其显示为子视图和所有爵士乐,但是当我尝试在上面使用如下行之后立即更改我的自定义属性时:

tempPaper.drag = 1.0;

或者

[tempPaper setDrag:1.0];

我得到[UIImageView setDrag:]: unrecognized selector sent to instance一个错误。我已经尝试了我发现的每一种不同的方法,但它不允许我为 Paper 类设置我的自定义属性(非 UIImageView 属性)的值。我错过了什么?我在这上面花了 2 个小时,这让我发疯了,我不明白有什么问题。

我也尝试过drag用 Paper 的initWithImage方法进行初始化,但它也不起作用。

4

2 回答 2

0
Paper *tempPaper = [[Paper alloc] initWithImage: tempImage];
于 2012-09-17T06:59:02.250 回答
0

创建 Paper 类的对象而不是 UIImageView。

纸张 *tempPaper = [[纸张分配] initWithImage: tempImage];

于 2012-09-17T07:11:54.520 回答