double delayInSeconds = 6.0; dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC); dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ // unhide views, animate if desired [self.navigationController popViewControllerAnimated:YES]; });
Showing posts with label iPhone Application Development. Show all posts
Showing posts with label iPhone Application Development. Show all posts
Sunday, May 12, 2013
Delay Code in iOS
Labels:
iOS,
iPhone Application Development
Thursday, February 28, 2013
Sliding Up UITextFields which are hidden by the keyboard in iOS
First, declare the following constants somewhere at the top of the view controller's implementation file.
CGFloat animatedDistance;
static const CGFloat KEYBOARD_ANIMATION_DURATION = 0.3;
static const CGFloat MINIMUM_SCROLL_FRACTION = 0.2;
static const CGFloat MAXIMUM_SCROLL_FRACTION = 0.8;
static const CGFloat PORTRAIT_KEYBOARD_HEIGHT = 216;
static const CGFloat LANDSCAPE_KEYBOARD_HEIGHT = 162;
When the textfield will be touched, we will get the rect of the textfield and convert everything to the window coordinates.
Then we calculate the fraction between the top and bottom of the middle section for the text field's midline.
Then we will clamp this fraction so that the top section is all "0.0" and the bottom section is all "1.0".
Then this fraction is converted to scroll according to the keyboards height.
Finally, apply the animation.
Labels:
iOS,
iPhone Application Development
Hide the keyboard when you touch outside of an UITextField in iOS
On viewDidLoad add the following lines:
UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)];
[self.view addGestureRecognizer:gestureRecognizer];
Then add the following function somewhere in the implementation file.
- (void) hideKeyboard {
[activeField resignFirstResponder];
}
Here activeField is an UITextField object. Declare it somewhere at the top of the view controller's implementation file.
UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)];
[self.view addGestureRecognizer:gestureRecognizer];
Then add the following function somewhere in the implementation file.
- (void) hideKeyboard {
[activeField resignFirstResponder];
}
Here activeField is an UITextField object. Declare it somewhere at the top of the view controller's implementation file.
Labels:
iOS,
iPhone Application Development
Subscribe to:
Posts (Atom)