上代码前,我们先来看下实现的效果图:
WelcomeViewController.h
#import <UIKit/UIKit.h> @interface WelcomeViewController : UIViewController @end
WelcomeViewController.m
#import "WelcomeViewController.h"
#define IMAGECOUNT 3
@interface WelcomeViewController () <UIScrollViewDelegate>
@property (nonatomic, strong)UIPageControl *pageControl;
@end
@implementation WelcomeViewController
- (void)viewDidLoad {
[super viewDidLoad];
//创建ScrollView
UIScrollView *sv = [[UIScrollView alloc] init];
sv.frame = self.view.bounds;
//设置边缘不弹跳
sv.bounces = NO;
//整页滚动
sv.pagingEnabled = YES;
sv.showsHorizontalScrollIndicator = NO;
//加入多个子视图(ImageView)
for(NSInteger i=0; i<IMAGECOUNT; i++){
NSString *imgName = [NSString stringWithFormat:@"%ld", i+1];
UIImage *image = [UIImage imageNamed:imgName];
UIImageView *imageView = [[UIImageView alloc]initWithImage:image];
CGRect frame = CGRectZero;
frame.origin.x = i * sv.frame.size.width;
frame.size = sv.frame.size;
imageView.frame = frame;
[sv addSubview:imageView];
if(i==IMAGECOUNT-1){
//开启图片的用户点击功能
imageView.userInteractionEnabled = YES;
//加个按钮
UIButton *button = [[UIButton alloc]init];
button.frame = CGRectMake((imageView.frame.size.width-150)/2, imageView.frame.size.height*0.8, 150, 40);
button.backgroundColor = [UIColor orangeColor];
[button setTitle:@"立即体验" forState:UIControlStateNormal];
button.titleLabel.font = [UIFont boldSystemFontOfSize:16];
[imageView addSubview:button];
[button addTarget:self action:@selector(enter) forControlEvents:UIControlEventTouchUpInside]; }
}
sv.contentSize = CGSizeMake(IMAGECOUNT * sv.frame.size.width, sv.frame.size.height);
[self.view addSubview:sv];
//加入页面指示控件PageControl
UIPageControl *pageControl = [[UIPageControl alloc]init];
self.pageControl = pageControl;
//设置frame
pageControl.frame = CGRectMake(0, self.view.frame.size.height - 40, self.view.frame.size.width, 20);
//分页面的数量
pageControl.numberOfPages = IMAGECOUNT;
//设置小圆点渲染颜色
pageControl.pageIndicatorTintColor = [UIColor whiteColor];
//设置当前选中小圆点的渲染颜色
pageControl.currentPageIndicatorTintColor = [UIColor redColor];
//关闭用户点击交互
pageControl.userInteractionEnabled = NO;
[self.view addSubview:pageControl];
sv.delegate = self;
}
- (void)enter
{
NSLog(@"进入应用");
}
//UIScrollViewDelegate方法
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGPoint offset = scrollView.contentOffset;
if(offset.x<=0){
offset.x = 0;
scrollView.contentOffset = offset;
}
NSUInteger index = round(offset.x / scrollView.frame.size.width);
self.pageControl.currentPage = index;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# iOS
# UIScrollView
# 引导页
# 模仿iOS版微信的滑动View效果
# iOS使用pageViewController实现多视图滑动切换
# iOS中3DTouch预览导致TableView滑动卡顿问题解决的方法
# iOS开发上下滑动UIScrollview隐藏或者显示导航栏的实例
# ios scrollview嵌套tableview同向滑动的示例
# Android仿IOS ViewPager滑动进度条
# IOS仿今日头条滑动导航栏
# iOS滑动解锁、滑动获取验证码效果的实现代码
# iOS 页面滑动与标题切换颜色渐变的联动效果实例
# iOS自定义View实现卡片滑动
# 多个
# 小圆点
# 大家多多
# 边缘
# pagingEnabled
# view
# bounces
# bounds
# ScrollView
# super
# sv
# frame
# init
# alloc
# imageNamed
# image
# UIImage
# initWithImage
# imageView
相关文章:
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
西安专业网站制作公司有哪些,陕西省建行官方网站?
如何通过FTP空间快速搭建安全高效网站?
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
如何用AWS免费套餐快速搭建高效网站?
如何在企业微信快速生成手机电脑官网?
如何在万网自助建站中设置域名及备案?
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
建站VPS选购需注意哪些关键参数?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
如何快速建站并高效导出源代码?
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
如何用PHP快速搭建高效网站?分步指南
Swift开发中switch语句值绑定模式
如何在阿里云香港服务器快速搭建网站?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
c++ stringstream用法详解_c++字符串与数字转换利器
定制建站是什么?如何实现个性化需求?
C++如何编写函数模板?(泛型编程入门)
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
建站主机如何安装配置?新手必看操作指南
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
Swift中swift中的switch 语句
太平洋网站制作公司,网络用语太平洋是什么意思?
网站制作员失业,怎样查看自己网站的注册者?
网站制作公司排行榜,抖音怎样做个人官方网站
javascript基本数据类型及类型检测常用方法小结
建站ABC备案流程中有哪些关键注意事项?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
Swift中循环语句中的转移语句 break 和 continue
jQuery 常见小例汇总
建站之星安全性能如何?防护体系能否抵御黑客入侵?
ppt制作免费网站有哪些,ppt模板免费下载网站?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
如何选择美橙互联多站合一建站方案?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
家庭服务器如何搭建个人网站?
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
小程序网站制作需要准备什么资料,如何制作小程序?
建站之星后台管理系统如何操作?
Python如何创建带属性的XML节点
招商网站制作流程,网站招商广告语?
建站之星后台管理:高效配置与模板优化提升用户体验
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
开封网站制作公司,网络用语开封是什么意思?
如何选择适合PHP云建站的开源框架?
建站之星如何开启自定义404页面避免用户流失?
*请认真填写需求信息,我们会在24小时内与您取得联系。