Попробуйте позвонить [self setNeedsRedraw]
в вашем сенсорном событии.
Аскер предоставил решение, основанное на этом ответе и комментариях ниже.
Решение
Используется:
[self addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchDown];
[self addTarget:self action:@selector(buttonDepressed) forControlEvents:UIControlEventTouchUpInside | UIControlEventTouchUpOutside | UIControlEventTouchCancel];
Где селекторы - это пользовательские функции, которые выполняют смену фона.