простое подклассов UIButton в iOS

-4

Я думаю, что я выполнил образец кода в письме, но ниже дается ошибка.

Я хочу подклассифицировать UIButton и добавить пару свойств, но я не сработал.

Я создал файл подкласса. это мои.h/.m's:

// 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:'

Я не уверен, что мне здесь не хватает, я довольно много копировал его дословно (я думаю). Я только хочу использовать встроенные геттеры/сеттеры (пока).

Что мне не хватает?

спросил(а) 2020-04-04T01:48:08+03:00 5 месяцев, 4 недели назад
1
Решение
97

Вы вызываете метод getter вместо метода setter -setPosition, то есть попробуйте:

[b setPosition:5.0];

или

b.position = 5.0;

Могу ли я спросить, чего вы пытаетесь достичь, подклассифицируя UIButton?

ответил(а) 2020-04-04T02:08:11.679537+03:00 5 месяцев, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема