iOS中UIButton的简单子类化

Mad*_*vad -1 subclass uibutton ios

我想我已经跟着示例代码到了这封信,但是下面给了我一个错误.

我想继承UIButton的子类并添加一些属性,但是我从一开始就失败了.

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

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

@interface damButton : UIButton
{
    CGFloat _position;
}
@property (nonatomic) CGFloat position;
@end
Run Code Online (Sandbox Code Playgroud)

// 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
Run Code Online (Sandbox Code Playgroud)

在我的mainviewcontroller中,我导入了我的自定义按钮,但是当我使用该属性的内置getter和setter时,我收到一个错误:

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

// then within a method...
damButton *b = [damButton buttonWithType:UIButtonTypeRoundedRect];
[b position:5.0];
Run Code Online (Sandbox Code Playgroud)

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

我不确定我在这里缺少什么,我几乎已经逐字复制了(我想).我只想使用内置的getter/setter(现在).

我错过了什么?

hwa*_*xer 5

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

[b setPosition:5.0];
Run Code Online (Sandbox Code Playgroud)

要么

b.position = 5.0;
Run Code Online (Sandbox Code Playgroud)

我可以通过继承UIButton问你想要实现的目标吗?