gpt4 book ai didi

iphone - 如何结合 UIScrollview 和 UIPagecontrol 显示不同的 View ?

转载 作者:可可西里 更新时间:2023-11-01 05:42:42 25 4
gpt4 key购买 nike

我已经搜索并搜索了这方面的教程,但没有一个是我要找的。我试过 Apple 的样本,但它只是颜色,我不知道如何让它显示。我正在寻找的是一个屏幕,该屏幕将在显示页面控件时进行分页。每次 ScrollView 页面时,我都希望它显示一个带有按钮的完全不同的 View ,很像 iPhone 的主屏幕。我发现下面的示例代码仅适用于图像,但我想修改以使用单独的 View 。请帮忙!谢谢。

- (void)setupPage {
scrollView.delegate = self;

[self.scrollView setBackgroundColor:[UIColor clearColor]];
[scrollView setCanCancelContentTouches:NO];

scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
scrollView.clipsToBounds = YES;
scrollView.scrollEnabled = YES;
scrollView.pagingEnabled = YES;

NSUInteger nimages = 0;
CGFloat cx = 0;
for (; ; nimages++) {
NSString *imageName = [NSString stringWithFormat:@"image%d.jpg", (nimages + 1)];
UIImage *image = [UIImage imageNamed:imageName];
if (image == nil) {
break;
}
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];

CGRect rect = imageView.frame;
rect.size.height = image.size.height;
rect.size.width = image.size.width;
rect.origin.x = ((scrollView.frame.size.width - image.size.width) / 2) + cx;
rect.origin.y = ((scrollView.frame.size.height - image.size.height) / 2);

imageView.frame = rect;

[scrollView addSubview:imageView];
[imageView release];

cx += scrollView.frame.size.width;
}

self.pageControl.numberOfPages = nimages;
[scrollView setContentSize:CGSizeMake(cx, [scrollView bounds].size.height)];
}

最佳答案

前几天我正在试验这个。我仍然习惯于使用 UIScrollView,但这里是您可以将 View 添加到 UIScrollView 的方法:

UIView *blueView = [[UIView alloc] init];
blueView.frame = CGRectMake(100, 0, 500, 1024);
blueView.backgroundColor = [UIColor colorWithRed:164.0/256 green:176.0/256 blue:224.0/256 alpha:1];
[scrollView addSubview:blueView];
[blueView release];

UIView *orangeView = [[UIView alloc] init];
orangeView.frame = CGRectMake(700, 0, 500, 1024);
orangeView.backgroundColor = [UIColor colorWithRed:252.0/256 green:196.0/256 blue:131.1/256 alpha:1];
[scrollView addSubview:orangeView];
[orangeView release];

请注意,我在每个 View 的 frame.origin 中设置了 x 值,以便它们彼此相邻。您还必须使用类似 [scrollView setContentSize:CGSizeMake(1200, 1024)]; 的内容设置 UIScrollView 的内容大小,以便它知道其 subview 有多大。

然后,如果您需要控制一个 UIPageControl,您可以将其 numberOfPages 设置为 2(对于上面的示例 scrollview)并更改其 currentPage属性。您可以通过实现 scrollViewDidEndDecelerating: 来完成此操作,这是 UIScrollViewDelegate 中的一个方法。您可以通过检查其 contentOffset.x 值来检查 ScrollView 位于哪个“页面”。

希望这对您有所帮助!

关于iphone - 如何结合 UIScrollview 和 UIPagecontrol 显示不同的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4404209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com