Мне нужно сохранить UIButton
, выделенный после события касания. В версиях IOS < 7 Я использовал следующие действия для события Touch Up Inside:Сохранить UIButton выделено после touch & iOS 7
- (IBAction)clickMe:(id)sender {
UIButton *button = sender;
[NSOperationQueue.mainQueue addOperationWithBlock:^{ button.highlighted = YES; }];
}
К сожалению, что-то изменилось в прошивке 7 и этот код больше не работает: если нажать на кнопку, кнопка возвращается к нормальное состояние; интересно, если я удерживаю кнопку нажатой немного дольше, кнопка остается подсвеченной. Обратите внимание, что приложение было разработано для iOS 6, поэтому оно работает в iOS 7 в режиме совместимости. Я пытаюсь найти способ сделать приложение правильно работать как на iOS 6 & 7, но до сих пор я не нашел приятного решения (одним из способов обхода очереди является событие, которое выделяет кнопку после короткой задержки, но вызывает раздражающее мерцание кнопки). Любой совет?
Государственная собственность является неизменяемым. – Wolfy
Ты прав @ Вольф. Позвольте мне подумать о немного переформулированном ответе. –
Майкл, да, я знаю, как работает свойство «.highlighted», но спасибо, что указали это. Очередь в операции, например, я использовал, чтобы переопределить поведение по умолчанию, потому что операция произойдет после того, как событие Touch Up сбросит '.highlighted' обратно в NO. Это был трюк, но это было просто и эффективно. К сожалению, iOS 7, по-видимому, изменил порядок операций. Конечно, подклассификация класса 'UIButton' решила бы проблему, но я искал простое решение. Кроме того, я не использую изображения, просто текст заголовка. – Wolfy