У меня есть представление, которое имеет кнопку, которая вызывает всплывающее окно UIActionSheet. Если пользователь нажимает кнопку «Отменить», исходная кнопка, которая отображает лист действий, по-прежнему подсвечивается, как если бы она была нажата. Как сбросить состояние после того, как пользователь отменяет действие?Отмена нажмите кнопку выделить после показа UIActionView на iphone
ответ
Sorry о моем ложном предположении, что вы были с помощью UIButton. Здесь должно быть то, что вам нужно:
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//your implementation here
....
//Then deselect the row so it quits the highlighted state
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
Используйте один из методов протокола для изменения состояния кнопки, которая была нажата:
@protocol UIActionSheetDelegate <NSObject>
@optional
// Called when a button is clicked. The view will be automatically dismissed after this call returns
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex;
// Called when we cancel a view (eg. the user clicks the Home button). This is not called when the user clicks the cancel button.
// If not defined in the delegate, we simulate a click in the cancel button
- (void)actionSheetCancel:(UIActionSheet *)actionSheet;
- (void)willPresentActionSheet:(UIActionSheet *)actionSheet; // before animation and showing view
- (void)didPresentActionSheet:(UIActionSheet *)actionSheet; // after animation
- (void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex; // before animation and hiding view
- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex; // after animation
@end
Спасибо diwup. Но у меня возникают проблемы с «изменением состояния» кнопки. Что конкретно я должен установить в методе didDismissWithButtonIndex. [UIButton resignFirstResponder] или что-то в этом роде? –
забыл упомянуть, что начальная «кнопка», начинающаяся с UIActionSheet, на самом деле является UItableviewcell. Поэтому мне просто нужно избавиться от синего цвета в этой строке. –
@coder net: Я предполагаю, что вы использовали UIButton, поскольку UIButton является подклассом UIControl, а UIControl имеет свойство ** (BOOL), выделенное **. Я думаю, вы можете вернуть это свойство в ** NO ** после отмены своего листа действий. –
- 1. Нажмите кнопку, которая не работает после показа всплывающих окон?
- 2. Javascript: нажмите кнопку ОТМЕНА, сохраняя данные
- 3. iPhone: программно нажмите кнопку
- 4. Невозможно загрузить вид на кнопку нажмите iPhone
- 5. Невозможно нажать кнопку «Отмена»
- 6. ASP.NET - Отмена изменений на кнопке Нажмите
- 7. Нажмите кнопку и после обновления нажмите кнопку с новой страницы
- 8. Нажмите на кнопку отправки после перетаскивания
- 9. Нажмите на другую кнопку после нажатия кнопки
- 10. Нажмите кнопку после перезагрузки страницы
- 11. Как включить кнопку «Отмена» на панели поиска пользовательского интерфейса iPhone
- 12. Отмена пользователя, нажмите на поле подтверждения «отменить»
- 13. Нажмите отправить на кнопку
- 14. Ошибка отображения UIActionView
- 15. App сбой при нажмите Отмена AlertView
- 16. Отмена Нажмите событие
- 17. Сценарий автоматизации: нажмите кнопку «Отмена» в окне предупреждений от Ruby
- 18. Вставить на кнопку Нажмите
- 19. запуская Нажмите на кнопку
- 20. Нажмите на кнопку
- 21. Дважды нажмите на кнопку
- 22. iPhone - нажмите кнопку открытия URL-адреса?
- 23. UIAlertView должен выделить другую кнопку
- 24. Нажмите кнопку, чтобы выделить маркер карты (Gmaps) - как?
- 25. Добавить выбор на кнопку Нажмите
- 26. Нажмите на кнопку на jQuery
- 27. Нажмите на кнопку, переписанную изображением
- 28. Дата показа в iphone
- 29. iPhone SDK Аннотации/выноски пузыря на изображении/кнопку нажмите
- 30. Нажмите кнопку Div Dropdown Function, не работающая на IPhone
Это работало очень хорошо. Хотя я отменяю выбор, прежде чем я покажу UIActionSheet, это отлично работает для моего случая, так как UIActionSheet открывается сразу, давая пользователю ощущение щелчка, а не мою работу по отключению выделения строки. Еще раз спасибо. –