Swift小练习-引导页

任何一门语言,只要长期不用就会忘掉,得时不时的敲敲小项目,练练手;

let scrollViewBG = UIScrollView.init(frame: SLScreenRect)

let images = ["first","second","third"]

let pageControl = UIPageControl.init(frame: CGRect.init(x: 0, y: SLScreenHeight - 30, width: SLScreenWidth, height: 20))

var currentPage = 0

override var prefersStatusBarHidden: Bool {

return true

}

override func viewDidLoad() {

super.viewDidLoad()

// Do any additional setup after loading the view, typically from a nib.

configureView()

}

  func configureView() {

// 遍历数组,同时获得index

for (index, value) in images.enumerated() {

let imageView = UIImageView.init(frame: CGRect.init(x: CGFloat(index)*SLScreenWidth, y: 0, width: SLScreenWidth, height: SLScreenHeight))

imageView.image = UIImage.init(named: value)

// 限制边界

imageView.clipsToBounds = true

imageView.contentMode = .scaleAspectFill

scrollViewBG .addSubview(imageView)

}

// 协议

scrollViewBG.delegate = self

scrollViewBG.isPagingEnabled = true

scrollViewBG.showsHorizontalScrollIndicator = false

scrollViewBG.contentSize = CGSize.init(width: SLScreenWidth*CGFloat(images.count), height: SLScreenHeight)

// pagecontol

pageControl.numberOfPages = images.count

pageControl.currentPageIndicatorTintColor = .white

pageControl.pageIndicatorTintColor = .lightGray

pageControl.currentPage = currentPage

pageControl.isEnabled = false

view.addSubview(scrollViewBG)

view.addSubview(pageControl)

}

  //MARK: - 协议方法

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {

currentPage = Int(scrollView.contentOffset.x/SLScreenWidth)

pageControl.currentPage = currentPage

}

时间: 2024-10-24 21:55:04

Swift小练习-引导页的相关文章

[iOS] App引导页的简单实现 (Swift 2)

转载请注明出处:http://www.jianshu.com/p/024dd2d6e6e6# 已更新至 Xcode7.2.Swift2.1 在第一次打开App或者App更新后通常用引导页来展示产品特性 我们用NSUserDefaults类来判断程序是不是第一次启动或是否更新,在 AppDelegate.swift中加入以下代码: func application(application: UIApplication, didFinishLaunchingWithOptions launchOpt

[iOS]简单的APP引导页的实现 (Swift)

在第一次打开APP或者APP更新后通常用引导页来展示产品特性 我们用NSUserDefaults类来判断程序是不是第一次启动或是否更新,在AppDelegate.swift中加入以下代码: func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customiza

iOS开发笔记(Swift)-通用App安装引导页的实现

之前一直做的项目都是基于OC开发的,最近开始尝试使用Swift语言来重写整个项目. 本篇文章主要是讲述如何使用Swift来实现常见的通用App安装引导界面. 效果预览: 实现思路: 主要是采用了UIScrollView作为容器,将其ContentSize的宽度设置为(引导页数量)*屏幕宽度,并将pagingEnabled设为true,隐藏滚动条.作为指示的UIPageControl与UIScrollView直接添加到self.view之上,并保存UiPageControl居于最上. 实现代码:

错误:引导页的小圆点展示问题

问题描述:安卓APP的引导页下方,本应有三个小圆点,只展示一个 解决办法:代码中的变量全部写成了point1 , 复制代码后一定要检查呀(敲桌子~~) つ﹏? 封装的方法:private void setPointIma(boolean Ch1,boolean Ch2, boolean Ch3){ if (Ch1){ point1.setBackgroundResource(R.drawable.focused); }else{ point1.setBackgroundResource(R.dr

iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码

iOS精选源码 如丝般顺滑的微信朋友圈(点赞,评论,图文混排表情,... 动态菜单第三版本:动态项,自适应方向 仿appstore首页滚动效果 iOS 透明导航栏方案 TransparentNavigation 一键合成APP引导页,包含不同状态下的引导页操作方式,同时... 很帅的数据加载动画(可以用于数据列表加载的展现) 实现通知视图,零耦合JMNotifyView DDGBannerScrollView使用文档 微信7.0红包助手 ios CAAnimation动画和SceneKit小游戏

[Swift通天遁地]九、拔剑吧-(15)搭建具有滑出、视差、3D变形等切换效果的引导页

软件一般包含一个引导页面,向用户形象的展示产品的主要特性. 本文将演示搭建具有滑出.视差.3D变形等切换效果的引导页. GitHub项目:[ariok/BWWalkthrough],下载并解压文件. [Pod]->选择两个文件: [BWWalkthroughViewController.swift]. [BWWalkthroughPageViewController.swift] 将选择的两个文件,拖动到项目中.在弹出的文件导入确认窗口中,点击[Finish] 创建一个自定义的视图控制器,用来制

如何做好App的引导页?(转)

http://uedc.163.com/12264.html 当你第一次打开一款应用的时候常常会看到精美的引导页设计,它们在你未使用产品之前提前告知你产品的主要功能与特点,第一次印象的好坏会极大地影响到后续的产品使用体验.因此各个公司都在努力将这几个页面设计好,从一开始就引人入胜.那接下来我跟大家一起来探讨关于引导页的设计. 一. 目的区分 根据引导页的目的.出发点不同,可以将其分为功能介绍类.使用说明类.推广类.问题解决类,一般引导页不会超过5页. 1.功能介绍类 功能介绍类引导页主要是对产品

Android引导页设计

大家在安装好一个应用后,第一次打开时往往会出现一个使用引导页,形式一般为三.四张图片,随着我们的滑动进行切换,在最后一页会有一个进入应用的按钮,我们通过点击这个按钮可以进入应用,其实这其中没有太多的复杂的地方,切换的完成就是一个ViewPager,说了这么多,下面开始为大家解读代码: 开始我们的设计之前我们需要做一些准备工作,首先我们新建一个工程,然后选择工程通过右键单击properties,然后选择Java Build Path,点击右侧Libraries,再点击Add jar,将我们工程li

Android学习之加圆点引导页的实现

今天周六,在家好好码代码..... 今天实现的是界面优化的一个简单功能:加圆点的引导页的实现 虽然简单,不过步骤我们还是一步一步来吧 第一步:实现几个View之间的左右滑动,我这次用了四个View(ViewPager) 以下是我的Guide 的布局页面: 1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:android="http://schemas.andr