在 iPhone 中使用 UIScrollView 和 ImageView 滚动图像

Posted

技术标签:

【中文标题】在 iPhone 中使用 UIScrollView 和 ImageView 滚动图像【英文标题】:Scrolling of Images using UIScrollView and ImageView in iPhone 【发布时间】:2013-01-25 06:52:51 【问题描述】:

我正在使用其中一个应用程序,在该应用程序中,只有一个视图上有图像。我希望能够向左或向右滑动,让第一个图像离开视图,第二个图像进入。图像是不同的,我希望它看起来像它们是连接的。我在 xib 文件上使用了 UIScrollView 和 UIImageView 下面是我在视图中使用的代码确实加载方法。当我运行应用程序时,滚动视图中只显示最后一张图片。

NSMutableArray *images = [[NSMutableArray alloc] initWithObjects:[UIImage imageNamed:@"iPad.png"],[UIImage imageNamed:@"iPadMini.png"],[UIImage imageNamed:@"iPhone4.png"],[UIImage imageNamed:@"iPhone5.png"], nil];
for (int i = 0; i < [images count]; i++) 
    CGRect frame;
    frame.origin.x = self.scrollView.frame.size.width * i;
    frame.origin.y = 0;
    frame.size = self.scrollView.frame.size;
    imgView.frame = frame;
    imgView.image = [images objectAtIndex:i];
    [scrollView addSubview:imgView];

self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * images.count, self.scrollView.frame.size.height);    

【问题讨论】:

***.com/questions/3430267/… 【参考方案1】:

试试这段代码...

NSMutableArray *images = [[NSMutableArray alloc] initWithObjects:[UIImage imageNamed:@"iPad.png"],[UIImage imageNamed:@"iPadMini.png"],[UIImage imageNamed:@"iPhone4.png"],[UIImage imageNamed:@"iPhone5.png"], nil];
for (int i = 0; i < [images count]; i++)


    UIImageView *imgView = [[UIImageView alloc] init];
    imgView.frame = CGRectMake(100*i, 0, 100, self.scrollView.frame.size.height);
    imgView.image = [images objectAtIndex:i];
    [scrollView addSubview:imgView];


self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * images.count, self.scrollView.frame.size.height);

【讨论】:

【参考方案2】:

试试这个..

 NSMutableArray *images = [[NSMutableArray alloc] initWithObjects:[UIImage imageNamed:@"iPad.png"],[UIImage imageNamed:@"iPadMini.png"],[UIImage imageNamed:@"iPhone4.png"],[UIImage imageNamed:@"iPhone5.png"], nil];
for (int i = 0; i < [images count]; i++) 
UIImageView *imgView = [[UIImageView alloc]init];
CGRect frame;
frame.origin.x = self.scrollView.frame.size.width * i;
frame.origin.y = 0;
frame.size = self.scrollView.frame.size;
imgView.frame = frame;
imgView.image = [images objectAtIndex:i];
[scrollView addSubview:imgView];

self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * images.count, self.scrollView.frame.size.height); 

希望对你有帮助...

【讨论】:

以上是关于在 iPhone 中使用 UIScrollView 和 ImageView 滚动图像的主要内容,如果未能解决你的问题,请参考以下文章

在 iphone 中使用 UIScrollView 滚动图像(第 2 部分)

如何使用主 iPhone 视图之外的 UI 元素在 Interface Builder 中设置 UIScrollView?

如何在 Iphone 中单击 UIButton 时设置 UiScrollView Frame?

如何在 iPhone SDK 中使用 Objective C 实现 UIViewAutoresizingFlexibleHeight 到 UIScrollView?

iPhone:在嵌入式 UITextView 中输入文本时滚动 UIScrollview

UITableView 内的 UIScrollView 无法正确显示/隐藏(Xcode iPhone)