0

我有几个按钮,每个按钮加载一个不同的图像 UIScrollView,你可以放大这些图像。发生的情况是,在选择新图像后,前一个图像仍然存在于滚动视图中。在其中打开新图像之前如何清理滚动视图?

这是到目前为止的代码:

- (UIView *) viewForZoomingInScrollView: (UIScrollView *)scrollView{
    return imgView;
}
-(IBAction)buttonClicked: (UIButton *)sender{
    switch (sender.tag) {
        case 1:{
            UIImageView *myImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Gath.jpg"]];
            self.imgView = myImageView;
            [myImageView release];

            scrollView.contentSize = CGSizeMake(imgView.frame.size.width, imgView.frame.size.height);
            scrollView.maximumZoomScale = 4.0;
            scrollView.minimumZoomScale = 1.0;
            scrollView.clipsToBounds = YES;
            scrollView.delegate = self;
            [scrollView addSubview:imgView];
        }
    }
}
4

2 回答 2

0

你可以试试这个

[myImageView removeFromSuperView];

我的图像视图=无;

myImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Gath.jpg"]];

于 2013-02-04T07:49:08.217 回答
0

您继续添加新的子视图而不删除以前的子视图。您可以只替换现有 imageView 中的图像内容,而不是制作新的。

替换这个:

   UIImageView *myImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Gath.jpg"]];
    self.imgView = myImageView;
    [myImageView release];

    self.imageView.image = [UIImage imageNamed:@"Gath.jpg"];

并删除这个

    [scrollView addSubview:imgView];

我假设您已将 imageView 链接到 self.imageView 其他地方,例如在故事板中,或者在您创建滚动视图时。

于 2013-02-03T14:15:20.290 回答