I\'d like to get the behavior similar to Messages app (also common in most texting apps) in iOS7, where in a conversation view swiping right from the left edge of the screen
Unfortunately, there is no built-in method to do that. I really hope there will be something like UIScrollViewKeyboardDismissModeInteractive for UIViewControllers.
For now, to do any animations in-between viewControllers, you should use a transitionCoordinator:
- (BOOL)animateAlongsideTransition:(void (^)(id context))animation
completion:(void (^)(id context))completion;
- (BOOL)animateAlongsideTransitionInView:(UIView *)view
animation:(void (^)(id context))animation
completion:(void (^)(id context))completion;
For the keyboard you should do something like this:
[self.transitionCoordinator animateAlongsideTransitionInView:self.keyboardSuperview
animation:
^(id context) {
self.keyboardSuperview.x = self.view.width;
}
completion:nil];
As for keyboardSuperview - you can get that by creating a fake inputAccessoryView:
self.textField.inputAccessoryView = [[UIView alloc] init];
Then the superview will be self.textField.inputAccessoryView.superview