关于UIScrollView和UIImageViews的问题

时间:2011-03-31 16:22:55

标签: cocoa-touch uiscrollview uiimageview ipad

我正在制作一个iPad应用程序,它将同时显示六个并排的UIImageViews(每行3个)。我希望它可以滚动,所以我可以显示最多15个。所以它基本上像5行3个UIImageViews。

我认为我必须以编程方式定位UIImageViews而不使用IB - 这是对的吗?如果是这样,我会把他们的立场作为什么?所以我知道前6个UIImageViews的位置,但其余的呢?如何让它们以可滚动的方式显示在UIScrollView上?

有没有办法用IB做到这一点 - 或者它是以编程方式完成的吗?

感谢您的帮助,

2 个答案:

答案 0 :(得分:0)

您需要将它们放在代码中

您可以像这样定位UIImageView:

UIImageView *image = [[UIImageView alloc] init];
image.frame = CGRectMake(0, 0, 50, 50);
[myScrollView addSubview: image];

这将创建一个图像视图,并将其放置在滚动视图中的0,0处,宽度和高度为50.

你需要像这样定位你的元素,然后当你到达屏幕外的元素时,你会继续这样:

UIImageView *image1 = [[UIImageView alloc] init];
image1.frame = CGRectMake(0, 1100, 50, 50);
[myScrollView addSubview: image1];

这会将元素设置在滚动视图中的屏幕外

要进行scollview滚动,您需要将scrollview的contentSize设置为大于屏幕即。你所有元素的大小

因此,如果您有6个高度为500像素的图像,则contentSize的高度将为6 x 500

设置内容大小:

myScrollView.contentSize = CGSizeMake(768,3000);

答案 1 :(得分:0)

没有必要通过代码创建图像你可以通过制作一个视图控制器并在其xib中添加三个UIImageView,然后使用UIScrollView的页面控件,更多细节遵循教程 -

http://www.edumobile.org/iphone/iphone-programming-tutorials/pagecontrol-example-in-iphone/