Можете ли вы сделать скин приложения UIButton в приложении для iPhone? - PullRequest
2 голосов
/ 04 июля 2011

Везде, где есть UIButton в моем приложении, я бы хотел, чтобы оно имело определенный фоновый рисунок. Это фоновое изображение всегда будет одинаковым.

Что я не хочу делать, так это вызывать метод для каждой кнопки, которую я помещаю в свой интерфейс.

Могу ли я сделать это через категорию или что-то подобное?

1 Ответ

3 голосов
/ 04 июля 2011

Вы не можете изменить общий вид вашей кнопки с помощью простого кода (в текущем SDK).


НО , вы можете подкласс вашего UIButton. Например:

.h

@interface MyButton : UIButton

@end

---

.m

@implementation MyButton

// your customization code

@end

А если вы хотите вставить экземпляр UIButton, например:

UIButton *button = // init your button
// customize your button
[self.view addSubview:button];

Вы должны изменить UIButton на MyButton

Mybutton *button=  // init your button
[self.view addSubview:button];

Не забудьте о #import "MyButton.h" в вашем файле .m / .h .


РЕДАКТИРОВАТЬ: Где вы должны сделать настройки:

@implementation UIButton (MyCategory)

+ (id)buttonWithFrame:(CGRect)frame {
    return [[[self alloc] initWithFrame:frame] autorelease];
}

- (id)initWithFrame:(CGRect)frame {
  if (self = [super initWithFrame:frame]) {
    // HERE YOU CAN DO SOME CUSTOMIZATION
  }
  return self;
}

Затем где-то в вашем представлении контроллер:

UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(x, y, width, height)];

или

UIButton *btn = [UIButton buttonWithFrame:CGRectMake(x, y, width, height)];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...