Чтобы завершить ответ, масштабирование кнопки (и сброс) можно поместить в такие методы, как:
// Scale up on button press
- (void) buttonPress:(UIButton*)button {
button.transform = CGAffineTransformMakeScale(1.1, 1.1);
// Do something else
}
// Scale down on button release
- (void) buttonRelease:(UIButton*)button {
button.transform = CGAffineTransformMakeScale(1.0, 1.0);
// Do something else
}
И связать с событиями кнопки, например, так:
[btn addTarget:self action:@selector(buttonPress:) forControlEvents:UIControlEventTouchDown];
[btn addTarget:self action:@selector(buttonRelease:) forControlEvents:UIControlEventTouchUpInside];
[btn addTarget:self action:@selector(buttonRelease:) forControlEvents:UIControlEventTouchUpOutside];
ПРИМЕЧАНИЕ1: Установка значений CGAffineTransformMakeScale равной 1,0 не сохраняет их в их измененных значениях (т. Е. Не умножает 1,1 на 1,0), а скорее возвращает их к исходному масштабу объекта.
ПРИМЕЧАНИЕ2: Не забывайте двоеточие :
в селекторе, так как оно позволяет передавать отправителя в качестве параметра в метод приема.В этом случае наши методы получают UIButton и будут объявлены как таковые в интерфейсе (файл .h).