Combine UISwitch and UITableViewCell for VoiceOver interaction

You should be able to set a custom accessibility description on the cell using

cell.accessibilityLabel = @"Double tap to toggle setting";

You can set up custom gestures for when VoiceOver is running according to this answer:

https://stackoverflow.com/a/12337128/567511

But here you would not need custom gestures, instead your didSelectRowAtIndexPath would flip the switch only when UIAccessibilityIsVoiceOverRunning is true.


To implement the desired behavior, instead of placing the UISwitch in the contentView of the cell, add it as the accessoryView programmatically. Then the cell and switch will behave exactly as expected when using VoiceOver, exactly as it does in Calendar.