Как увеличить конкретную часть UIScrollView? - PullRequest
2 голосов
/ 21 мая 2010

HI, Я разрабатываю приложение, в котором я хочу реализовать заставку, на которой я хочу связать scrollView и UIImage. Мой код, как следует,

-(void)splashAnimation{
    window = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, 320, 420)];
    //scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    scrollView = [[UIScrollView alloc] initWithFrame:[window bounds]];
    scrollView.pagingEnabled = NO;
    scrollView.bounces = NO;

    UIImage *image = [UIImage imageNamed:@"splash.png"];
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
    imageView.userInteractionEnabled = NO;  

    [scrollView addSubview:imageView];
    [scrollView setDelegate:self];
    //[scrollView release];


}

- (void)applicationDidFinishLaunching:(UIApplication *)application {    
    [self splashAnimation];
    [self initControllers];
    [window addSubview:[mainTabBarController view]];
    [window makeKeyAndVisible];
}

В моем данном коде одно пустое окно появляется и остается включенным. Я хочу, чтобы на этом пустом экране был привязан мой splash.png.

**** Вышеуказанная проблема решена **** Мой текущий код

    scrollView.pagingEnabled = NO;
    scrollView.bounces = NO;

    UIImage *image = [UIImage imageNamed:@"splash.png"];
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
    imageView.userInteractionEnabled = NO;  
    [scrollView addSubview:imageView];

    scrollView.maximumZoomScale = 4.0f;
    scrollView.minimumZoomScale = 1.0f;

    CGRect rect = CGRectMake(119, 42, 208, 166);

    [scrollView zoomToRect:rect animated:YES];
    [scrollView setDelegate:self];
    [window addSubview:scrollView];
    [window makeKeyAndVisible];

Я хочу увеличить конкретную часть scrollView.

Ответы [ 2 ]

4 голосов
/ 13 июля 2010

RajB - для масштабирования scrollView сделайте следующее:

CGRect zoomRect = CGRectMake(119, 42, 208, 166);
[scrollView zoomToRect:zoomRect animated:YES];

Надеюсь, это поможет!

1 голос
/ 21 мая 2010

Вы создаете UIScrollView, но никогда не добавляете его в иерархию представлений, поэтому оно никогда не будет отображаться. Позвоните [window addSubview:scrollView], а затем не забудьте отпустить его.

Если вы используете MainWindow.xib в своем проекте, ваше окно создано для вас, вам не нужно создавать свое собственное.

Используйте [[UIScreen mainScreen] вместо CGRect(0, 0, 320, 420) <- я также считаю, что вы имели в виду "480" </p>

После настройки анимации всплеска вы звоните [window addSubview:[mainTabBarController view]]. Даже после добавления прокрутки, как упоминалось ранее, он станет самым верхним и, следовательно, видимым представлением.

Задержка [window addSubview:[mainTabBarController view]] до завершения анимации всплеска.

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