简体   繁体   中英

implement scrollview for subview iphone

How can I include this view in a scrollerView?

I have a subview with different textfields ,and I want to have it in a scrollview so that when a user clicks on a field view get scrolled.

    - (UIView *)Form
{
    if (!_Form) {

        CGRect frame = CGRectMake(0.0, Height, Width, 310.0);
        UIView *container = [[UIView alloc] initWithFrame:frame];

        CGFloat y = 15.0;
        frame = CGRectMake(15.0, y, width, height);
        UITextField *field = [[UITextField alloc] initWithFrame:frame];
        [
        field.placeholder = @"text";


        CGFloat spacing = 8.0;
        y = frame.origin.y + height + spacing;
        frame = CGRectMake(15.0, y, kDeviceWidth - 2*15.0, height);
        field = [[UITextField alloc] initWithFrame:frame];

        field.placeholder = @"text6";


        frame.size.height = 200.0;

        y = frame.origin.y + height + space;
        frame = CGRectMake(15.0, y, width - 2*15.0, height);
        field = [[UITextField alloc] initWithFrame:frame];

        field.placeholder = @"text1*";



        y = frame.origin.y + height + 16.0;
        CGFloat w = (kDeviceWidth - 2 * 15.0) / 2;
        frame = CGRectMake(15.0, y, w - 2.0, height);
        field = [[UITextField alloc] initWithFrame:frame];

        field.placeholder = @"text3*";


        frame = CGRectMake(15.0 + w + 2.0, y, w - 2.0, height);
        field = [[UITextField alloc] initWithFrame:frame];

        field.placeholder = @"text4*";


        y = frame.origin.y + height + spacevalue;
        frame = CGRectMake(15.0, y, w, height);
        field = [[UITextField alloc] initWithFrame:frame];

        field.placeholder = @"text5";



        y = frame.origin.y + height + 20.0;
        frame = CGRectMake((frame.size.width - 192.0) / 2, y, 192.0, 34.0);



        y = frame.origin.y + height + 8.0;
        frame = CGRectMake((frame.size.width - 192.0) / 2, y, 192.0, 34.0);
    }
    return _Form;
}

Can you help me with code pls. Thanks

I have this code:

CGPoint puntoInicial;
-(void) textFieldDidBeginEditing:(UITextField *)textField {
    CGPoint pt;
    CGRect rc = [textField bounds];
    rc = [textField convertRect:rc toView:scrollView];
    pt = rc.origin;
    puntoInicial = pt;
    pt.x = 0;
    pt.y -= 250;
    [scrollView setContentOffset:pt animated:YES];
    textField.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;
}

//Bajar la pantalla cuando se termina de editar
-(void) textFieldDidEndEditing:(UITextField *)textField {
    puntoInicial.x = 0;
    puntoInicial.y = 0;
    [scrollView setContentOffset:puntoInicial animated:YES];
}

Only put this in your code and in the textField -> Connections inspector -> Oulets -> Delegate, put the Files Owner

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM