Расширение UIScrollView, когда он наполняется большим количеством контента - PullRequest
0 голосов
/ 26 июля 2011

Хорошо, у меня есть скроллвью для загрузки, когда пользователь входит в мое приложение. Когда пользователь аутентифицирован, мне нужно программно создать скроллвью. Для этого у меня есть следующий код:

[scrollView removeFromSuperview];

        UIScrollView *view = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, applicationFrame.size.width, self.view.frame.size.height)];
        view.backgroundColor = [UIColor greenColor];


        //-- get the y-coordinate of the view
        CGFloat viewCenterY = self.view.center.y;
        //--calculate how much visible space is left
        CGFloat freeSpaceHeight = applicationFrame.size.height - keyboardBounds.size.height;
        //-- calculate how much the scrollview must scroll
        CGFloat scrollAmount = viewCenterY - freeSpaceHeight / 2.0;

        if(scrollAmount < 0) scrollAmount = 0;

        //set the new scrollsize contentview
        view.contentSize = CGSizeMake(applicationFrame.size.width,         applicationFrame.size.height + keyboardBounds.size.height);

        //scroll the scrollview
        [view setContentOffset:CGPointMake(0, scrollAmount) animated:YES];

            for(int v = 0; v < 15; v++){
                CGFloat yCoord = v * 100;
                UILabel *mijnLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, yCoord, 200, 50)];

                mijnLabel.text = @"1337";
                mijnLabel.font = [UIFont fontWithName:@"Verdana" size:20];
                mijnLabel.textColor = [UIColor redColor];

                [view addSubview:mijnLabel];
                [mijnLabel release];
            }


            [self.view addSubview:view];

            [view release];


        }

Как мне расширить свое представление в соответствии с количеством добавленных мной ярлыков? Я также хочу знать, как сделать так, чтобы мое представление прокрутки заполняло весь экран. Теперь мое прокрутка заполняет экран только в портретном режиме.

Это экран входа в систему, который удаляется:

 [scrollView removeFromSuperview];

1 Ответ

0 голосов
/ 26 июля 2011

вам нужно отслеживать номера меток, которые вы добавляете в представление прокрутки. Предположим, что если высота вашего ярлыка равна 50, тогда возьмите переменную, и в итоге получите высоту всего ярлыка и задайте новый кадр для вида прокрутки. как:

        view.frame = CGRectmake(0,0,applicationFrame.size.width,totalHeightOfLabel);
        [self.view addSubview:view];

        [view release];

надеюсь, что это даст идею ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...