首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >生成图片的UIScrollView

生成图片的UIScrollView
EN

Stack Overflow用户
提问于 2013-08-02 04:49:22
回答 2查看 79关注 0票数 0

我已经设置了一个UIScrollView并加载到图片中,并将其设置为视图,并在图片之间设置了一些偏移。有人能解释我可能做错了什么吗?它显示的第一张图片只是很好,但不会让我滚动左和右看到下一个。我是否需要一个带有新XCode的手势识别器来完成这个工作?

代码语言:javascript
运行
复制
 - (void)viewDidLoad
    {
        [super viewDidLoad];

        int PageCount = 3;

        UIScrollView *Scroller = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
        Scroller.backgroundColor = [UIColor clearColor];
        Scroller.pagingEnabled = YES;
        Scroller.contentSize = CGSizeMake(PageCount = Scroller.bounds.size.width, Scroller.bounds.size.height);

        CGRect ViewSize = Scroller.bounds;

        UIImageView *ImgView = [[UIImageView alloc] initWithFrame:ViewSize];
        [ImgView setImage:[UIImage imageNamed:@"1.png"]];
        [Scroller addSubview:ImgView];

        ViewSize = CGRectOffset(ViewSize, Scroller.bounds.size.width, 0);

        UIImageView *ImgView2 = [[UIImageView alloc] initWithFrame:ViewSize];
        [ImgView2 setImage:[UIImage imageNamed:@"2.png"]];
        [Scroller addSubview:ImgView2];

        ViewSize = CGRectOffset(ViewSize, Scroller.bounds.size.width, 0);

        UIImageView *ImgView3 = [[UIImageView alloc] initWithFrame:ViewSize];
        [ImgView3 setImage:[UIImage imageNamed:@"3.png"]];
        [Scroller addSubview:ImgView3];

        [self.view addSubview:Scroller];

    }

    @end
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-02 05:03:37

您需要手动将您的contentSize设置为ScrollView的最大矩形,这适合您添加的所有ImageViews。例如:假设你想要左右滚动,你有4个视图,每个视图的宽度为100,x方向偏移量为10。然后,在将所有4个视图添加到您的scrollView之后,您必须按照以下方式创建contentSize:

代码语言:javascript
运行
复制
scrollView.contentSize = CGSizeMake( 10 + (100 + 10)*4 , scrollView.contentSize.y );

这将使scrollView可以滚动,您将看到所有的视图。

票数 0
EN

Stack Overflow用户

发布于 2013-08-02 05:53:44

尝尝这个

代码语言:javascript
运行
复制
int PageCount = 3;
NSMutableArray *arrImageName =[[NSMutableArray alloc]initWithObjects:@"1.png",@"2.png",@"3.png", nil];
UIScrollView *Scroller = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
Scroller.scrollEnabled=YES;
Scroller.backgroundColor = [UIColor clearColor];
Scroller.pagingEnabled = YES;
[self.view addSubview:Scroller];
int width=Scroller.frame.size.width;
int xPos=0;
for (int i=0; i<PageCount; i++)
{
    UIImageView *ImgView = [[UIImageView alloc]initWithFrame:CGRectMake(xPos, 0, Scroller.frame.size.width, Scroller.frame.size.height)];
    [ImgView setImage:[UIImage imageNamed:[arrImageName objectAtIndex:i]]];
    [Scroller addSubview:ImgView];
    Scroller.contentSize = CGSizeMake(width, 0);
    width +=Scroller.frame.size.width;
    xPos  +=Scroller.frame.size.width;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18008988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档