全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

iOS基于UIScrollView实现滑动引导页

上代码前,我们先来看下实现的效果图:

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小时内与您取得联系。