开发者

Date Picker controller need to set the selected value iphone

am using scrollview for text field when i press that text field the view scrolling down can anyone pls help me why its happening ?

This code am using for scroll

- (void)keyboardWasShown:(NSNotification*)aNotification {
    if (keyboardShown)
        return;
    //static const float deviceHeight = 4开发者_开发百科80;
    static const float keyboardHeight = 216;
    static const float gap = 5; //gap between the top of keyboard and the control

    //Find the controls absolute position in the 320*480 window - it could be nested in other views
    CGPoint absolute = [activeField.superview convertPoint:activeField.frame.origin toView:nil];
    //NSLog(@"Keyborad Shown %f : %f",absolute.y,(keyboardHeight + gap);
    if (absolute.y > (keyboardHeight + gap)) {

        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:0.3f]; //this is speed of keyboard
        NSDictionary* info = [aNotification userInfo];
        CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
        CGRect bkgndRect = activeField.superview.frame;
        bkgndRect.size.height += kbSize.height;
        [activeField.superview setFrame:bkgndRect];
        [scrollview setContentOffset:CGPointMake(0.0, activeField.frame.origin.y-92) animated:YES];

        [UIView commitAnimations];
    }

    keyboardShown = YES;
}

// Called when the UIKeyboardDidHideNotification is sent
- (void)keyboardWasHidden:(NSNotification*)aNotification {

    //[UIView beginAnimations:nil context:nil];
    //[UIView setAnimationDuration:0.003f]; //this is speed of keyboard


    NSDictionary* info = [aNotification userInfo];

    // Get the size of the keyboard.
    NSValue* aValue = [info objectForKey:UIKeyboardFrameEndUserInfoKey];
    CGSize keyboardSize = [aValue CGRectValue].size;

    // Reset the height of the scroll view to its original value
    CGRect viewFrame = [scrollview frame];
    viewFrame.size.height += keyboardSize.height;
    scrollview.frame = viewFrame;

    //[UIView commitAnimations];

    keyboardShown = NO;
}

- (void)textFieldDidBeginEditing:(UITextField *)textField {    
    activeField = textField;
}


Try This....

This code my be helpful for you to scroll your scrollview up.

  • (BOOL)textViewShouldBeginEditing:(UITextView *)textView {

    [scrView setContentOffset:CGPointMake(0, textView.frame.origin.y - 20)]; return YES; }

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜