Ios 带滑动和页面控制的图片幻灯片
我正在创建一个“操作”视图,向用户显示5-6张有关如何使用应用程序的图片。我希望它像真实视图中的一个容器。我还希望它有一个与滑动和页面控制转换。如果你知道我的意思的话,比如AppStore在图片上有一个应用程序的截图 有没有一个简单的方法可以做到这一点?非常感谢大家的帮助Ios 带滑动和页面控制的图片幻灯片,ios,iphone,uiscrollview,Ios,Iphone,Uiscrollview,我正在创建一个“操作”视图,向用户显示5-6张有关如何使用应用程序的图片。我希望它像真实视图中的一个容器。我还希望它有一个与滑动和页面控制转换。如果你知道我的意思的话,比如AppStore在图片上有一个应用程序的截图 有没有一个简单的方法可以做到这一点?非常感谢大家的帮助 您可以为拥有的“n”个图像创建UIImageView 在UIScrollView上添加此图像。保持滚动视图的大小与UIImageViewsize相同 最重要的是,启用UIScrollView的分页属性 它应该给你和AppSto
UIImageView
UIScrollView
上添加此图像。保持滚动视图的大小与UIImageView
size相同快照屏幕。这里是一个简单的代码,但您可以使用循环、动画或您想做的事情对其进行自定义;)
-(void)viewDidLoad
{
[超级视图下载];
//init scollview
scrollView=[[UIScrollView alloc]initWithFrame:myBounds];
scrollView.delegate=self;
scrollView.PaginEnabled=是;
//Ajout des涵盖古典风格
对于(int i=0;i<[mycover count];i++){
CGRect帧;
frame.origin.x=scrollView.frame.size.width*i;
frame.origin.y=0;
frame.size=scrollView.frame.size;
//Vue 1
UIView*子视图1=[[UIView alloc]initWithFrame:frame];
[子视图1添加子视图:[myCovers objectAtIndex:i]];
[滚动视图添加子视图:子视图1];
}
//内容大小滚动视图
scrollViewBack.contentSize=CGSizeMake(scrollViewBack.frame.size.width*([MyOvers count]),scrollViewBack.frame.size.height);
[self.view addSubview:scrollViewBack];
scrollView.contentSize=CGSizeMake(scrollView.frame.size.width*([MyOvers count]),scrollView.frame.size.height);
[self.view addSubview:scrollView];
//页面控件
pageControl=[[UIPageControl alloc]initWithFrame:CGRectMake(0,scrollView.frame.size.height-pageControl_HEIGTH-myBaseline,scrollView.frame.size.width,pageControl_HEIGTH)];
pageControl.numberOfPages=[MyOvers计数];
[self.view addSubview:pageControl];
}
#布拉格标记-
#pragma标记参数设置
-(void)setObjects:(NSArray*)封面{
myCovers=[[NSArray alloc]initWithArray:covers];
}
#布拉格标记-
#pragma标记滚动视图委托
-(无效)ScrollViewDiEndDecelling:(UIScrollView*)发送器{
CGFloat pageWidth=scrollView.frame.size.width;
NSInteger offsetLooping=1;
int page=floor((scrollView.contentOffset.x-pageWidth/2)/pageWidth)+offsetLooping;
pageControl.currentPage=page%[MyOvers计数];
}
谢谢!工作得很好!Charlu代码有太多的缺失。。。有人会说“工作完美”。。没有评论,na值(页面控制高度),没有定义等。。。
- (void)viewDidLoad
{
[super viewDidLoad];
//init scollview
scrollView = [[UIScrollView alloc] initWithFrame:myBounds];
scrollView.delegate = self;
scrollView.pagingEnabled = YES;
//Ajout des covers classiques
for (int i = 0; i < [myCovers count]; i++) {
CGRect frame;
frame.origin.x = scrollView.frame.size.width * i;
frame.origin.y = 0;
frame.size = scrollView.frame.size;
//Vue 1
UIView *subview1 = [[UIView alloc] initWithFrame:frame];
[subview1 addSubview:[myCovers objectAtIndex:i]];
[scrollView addSubview:subview1];
}
//Content Size Scrollview
scrollViewBack.contentSize = CGSizeMake(scrollViewBack.frame.size.width * ([myCovers count]), scrollViewBack.frame.size.height);
[self.view addSubview:scrollViewBack];
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width*([myCovers count]), scrollView.frame.size.height);
[self.view addSubview:scrollView];
//Page Control
pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, scrollView.frame.size.height - PAGECONTROL_HEIGTH - myBaseline, scrollView.frame.size.width, PAGECONTROL_HEIGTH)];
pageControl.numberOfPages = [myCovers count];
[self.view addSubview:pageControl];
}
#pragma mark -
#pragma mark Params setting
- (void) setObjects:(NSArray *)covers {
myCovers = [[NSArray alloc] initWithArray:covers];
}
#pragma mark -
#pragma mark Scrollview delegate
- (void)scrollViewDidEndDecelerating:(UIScrollView *)sender {
CGFloat pageWidth = scrollView.frame.size.width;
NSInteger offsetLooping = 1;
int page = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + offsetLooping;
pageControl.currentPage = page % [myCovers count];
}