代码之家  ›  专栏  ›  技术社区  ›  Tirth

如何缩放uiScrollView的特定部分?

  •  2
  • Tirth  · 技术社区  · 15 年前

    你好, 我开发了一个应用程序,在这个应用程序中,我想实现启动屏幕,在启动屏幕上,我想绑定滚动视图和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];
    

    我想缩放滚动视图的特定部分。

    2 回复  |  直到 12 年前
        1
  •  4
  •   Kyle Clegg    12 年前

    rajb-要缩放滚动视图,请执行以下操作:

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

    希望这有帮助!

        2
  •  1
  •   Suresh Varma    13 年前

    你创造了一个 UIScrollView 但永远不要将其添加到视图层次结构中,因此它将永远不会显示。呼叫 [window addSubview:scrollView] 然后别忘了释放它。

    如果您在项目中使用mainwindow.xib,那么您的窗口是为您创建的,您不需要创建自己的窗口。

    使用 [[UIScreen mainScreen] 而不是 CGRect(0, 0, 320, 420) <-我也相信你的意思是“480”

    设置初始动画后,调用 [window addSubview:[mainTabBarController view]] . 即使像前面提到的那样添加了滚动视图,它也将成为最顶层的视图,因此也是可见的视图。

    延迟 [窗口AddSubView:[主控视图]] 直到启动动画完成。