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.