-1

我想我已经按照示例代码写了这封信,但是下面给了我一个错误。

我想继承 UIButton 并添加几个属性,但我从一开始就失败了。

我创建了一个子类文件。这些是我的 .h/.m 的:

// damButton.h
#import <UIKit/UIKit.h>

@interface damButton : UIButton
{
    CGFloat _position;
}
@property (nonatomic) CGFloat position;
@end

// damButton.m
#import "damButton.h"

@implementation damButton

@synthesize position = _position;

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
    }
    return self;
}
@end

在我的 mainviewcontroller 中,我已经导入了自定义按钮,但是当我使用属性的内置 getter 和 setter 时,出现错误:

//MainViewController.m
#import "damButton.h"

// then within a method...
damButton *b = [damButton buttonWithType:UIButtonTypeRoundedRect];
[b position:5.0];

生成此错误:No visible @interface for 'damButton' declares the selector 'position:'

我不确定我在这里缺少什么,我几乎逐字复制它(我认为)。我只想使用内置的 getter/setter(现在)。

我错过了什么?

4

1 回答 1

5

您正在调用 getter 方法,而不是 setter 方法 -setPosition,即尝试:

[b setPosition:5.0];

或者

b.position = 5.0;

请问你想通过继承 UIButton 来实现什么?

于 2012-12-01T12:14:58.243 回答