I use a UIText field as a toggle to display and then update with a value each time it is depressed, and use the the didbeginediting as the action to resign the keyboard. In 6.2 this works fine in 7 the keyboard is not resigned.
-(void)toggleAnswer {
self.myText resignfirstresponder;
if ([myText.text isEqualTo @"Yes"]) {
myText.text = @"No";
}
else {
myText.text = @"No";
}
}