iOS_Swift UIScrollView之App导航页的制作
2016-01-16 20:08
423 查看
源码地址:github地址下载,欢迎star~
1、App应用程序在第一次打开的时候,都会出现一个可以滚动的导航页。这些导航页面一般是关于App版本的一些新特性新功能的介绍,是每个App应用程序必不可少的一个部分。
而这种导航页就是通过控件UIScrollView来实现的,下面通过一个Demo(参考了Swiftv课堂视频)让我们熟悉如何使用UIScrollView做一个App的导航页面。
2、步骤如下:
1)加载scrollView视图,同时进行基本的属性设置(详细信息见代码注释)
2)增加pageControl小圆点,配合scrollView滚动视图移动
3)最后一个动态button,点击进入主页面
4)判断是不是第一次登陆,如果是则出现导航页。否则,直接进入主页面。
3、最终效果如下:
1、App应用程序在第一次打开的时候,都会出现一个可以滚动的导航页。这些导航页面一般是关于App版本的一些新特性新功能的介绍,是每个App应用程序必不可少的一个部分。
而这种导航页就是通过控件UIScrollView来实现的,下面通过一个Demo(参考了Swiftv课堂视频)让我们熟悉如何使用UIScrollView做一个App的导航页面。
2、步骤如下:
1)加载scrollView视图,同时进行基本的属性设置(详细信息见代码注释)
func loadScrollView() { self.scrollView = UIScrollView(frame: CGRectMake(0,0,self.width,self.height)) self.scrollView.contentSize = CGSize(width: CGFloat(4) * self.width, height: self.height) self.scrollView.pagingEnabled = true //bounces默认为true,如果为true在第一页和最后一页还是可以滑动的 self.scrollView.bounces = false //scrollView的水平显示器 self.scrollView.showsHorizontalScrollIndicator = false //设置代理 self.scrollView.delegate = self self.view.addSubview(self.scrollView) for i in 1...4{ let imageView = UIImageView(image: UIImage(named: "\(i + 1).png")) //图片的起点从原点(0,0)开始 imageView.frame = CGRectMake(CGFloat(i - 1)*self.width, 0, self.width, self.height) self.scrollView.addSubview(imageView) } }
2)增加pageControl小圆点,配合scrollView滚动视图移动
func loadPageControl(){ self.pageControl.center = CGPoint(x: self.width / 2, y: self.height - 30) self.pageControl.numberOfPages = 4 self.pageControl.currentPageIndicatorTintColor = UIColor.redColor() self.pageControl.pageIndicatorTintColor = UIColor.yellowColor() self.view.addSubview(self.pageControl) }
3)最后一个动态button,点击进入主页面
//#MARK: --UIScrollViewDelegate的代理方法 func scrollViewDidEndDecelerating(scrollView: UIScrollView) { let index = Int(scrollView.contentOffset.x / self.width) self.pageControl.currentPage = index if index == 3{ self.button.frame = CGRectMake(CGFloat(3) * self.width, self.height, self.width, 50) self.button.setTitle("走进Swift", forState: UIControlState.Normal) self.button.backgroundColor = UIColor.orangeColor() //不显示 self.button.alpha = 0 self.scrollView.addSubview(self.button) //UIView的动画效果 UIView.animateWithDuration(1.5, delay: 0.5, options: UIViewAnimationOptions.CurveEaseInOut, animations: { () -> Void in self.button.alpha = 1 self.button.frame = CGRectMake(CGFloat(3) * self.width, self.height - 100, self.width, 50) }, completion: nil) self.button.addTarget(self, action: "toMainViewController", forControlEvents: UIControlEvents.TouchUpInside) } }
4)判断是不是第一次登陆,如果是则出现导航页。否则,直接进入主页面。
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { self.window = UIWindow(frame: UIScreen.mainScreen().bounds) if !NSUserDefaults.standardUserDefaults().boolForKey("firstLaunch"){ NSUserDefaults.standardUserDefaults().setBool(true, forKey: "firstLaunch") NSUserDefaults.standardUserDefaults().synchronize() self.window?.rootViewController = LeadingViewController() }else{ self.window?.rootViewController = MainViewController() } self.window?.backgroundColor = UIColor.whiteColor() self.window?.makeKeyAndVisible() return true }
3、最终效果如下:
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- Apple Swift学习教程
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 介绍 Fedora 上的 Swift
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- 浅析iOS应用开发中线程间的通信与线程安全问题
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift编程中的泛型解析
- Swift中定义二维数组的方法及遍历方法示例
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?