// // NewPostViewController.m // Juick // // Created by Vitaly Takmazov on 07.11.13. // Copyright (c) 2013 com.juick. All rights reserved. // #import "NewPostViewController.h" #import "ColorScheme.h" @interface NewPostViewController () @property (nonatomic, assign) BOOL didSetupConstraints; @property (nonatomic, assign) int paddingValue; @end @implementation NewPostViewController - (void)viewDidLoad { [super viewDidLoad]; self.navigationController.visibleViewController.title = @"Post"; self.navigationController.visibleViewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelCompose)]; self.navigationController.visibleViewController.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(doneCompose)]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil]; [self.textView becomeFirstResponder]; } - (void) cancelCompose { [self.textView resignFirstResponder]; [self.navigationController.visibleViewController.navigationController popViewControllerAnimated:YES]; } - (void) doneCompose { [self.navigationController.visibleViewController.navigationController popToRootViewControllerAnimated:YES]; } -(void) keyboardDidShow:(NSNotification *)sender { CGRect frame = [sender.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue]; CGRect newFrame = [self.view convertRect:frame fromView:[[UIApplication sharedApplication] delegate].window]; [self.view layoutIfNeeded]; [UIView animateWithDuration:[sender.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue] animations:^{ self.bottomConstraint.constant = newFrame.origin.y - CGRectGetHeight(self.view.frame) + self.paddingValue; [self.view layoutIfNeeded]; }]; } -(void) keyboardWillHide:(NSNotification *)sender { self.bottomConstraint.constant = self.paddingValue; [self.view layoutIfNeeded]; } @end