- 浏览: 2145052 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1240)
- mac/IOS (287)
- flutter (1)
- J2EE (115)
- android基础知识 (582)
- android中级知识 (55)
- android组件(Widget)开发 (18)
- android 错误 (21)
- javascript (18)
- linux (70)
- 树莓派 (18)
- gwt/gxt (1)
- 工具(IDE)/包(jar) (18)
- web前端 (17)
- java 算法 (8)
- 其它 (5)
- chrome (7)
- 数据库 (8)
- 经济/金融 (0)
- english (2)
- HTML5 (7)
- 网络安全 (14)
- 设计欣赏/设计窗 (8)
- 汇编/C (8)
- 工具类 (4)
- 游戏 (5)
- 开发频道 (5)
- Android OpenGL (1)
- 科学 (4)
- 运维 (0)
- 好东西 (6)
- 美食 (1)
最新评论
-
liangzai_cool:
请教一下,文中,shell、C、Python三种方式控制led ...
树莓派 - MAX7219 -
jiazimo:
...
Kafka源码分析-序列5 -Producer -RecordAccumulator队列分析 -
hp321:
Windows该命令是不是需要安装什么软件才可以?我试过不行( ...
ImageIO读jpg的时候出现javax.imageio.IIOException: Unsupported Image Type -
hp321:
Chenzh_758 写道其实直接用一下代码就可以解决了:JP ...
ImageIO读jpg的时候出现javax.imageio.IIOException: Unsupported Image Type -
huanghonhpeng:
大哥你真强什么都会,研究研究。。。。小弟在这里学到了很多知识。 ...
android 浏览器
在第一次打开APP或者APP更新后通常用引导页来展示产品特性
下面是swift简单的实现,图片自己从网上找吧
AppDelegate.swift
GuideViewController.swift
下面是swift简单的实现,图片自己从网上找吧
AppDelegate.swift
// // AppDelegate.swift // palmICT_swift // // Created by iaiai on 15/12/17. // Copyright (c) 2015年 iaiai. All rights reserved. // import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { self.window = UIWindow(frame: UIScreen.mainScreen().bounds) NSUserDefaults.standardUserDefaults().objectForKey("FirstLanght") == nil ? enterGuide() : enterMain() return true } func enterGuide(){ var guideController = GuideViewController() self.window!.rootViewController = guideController self.window!.backgroundColor = UIColor.whiteColor() self.window!.makeKeyAndVisible() //下面的方式是读取sb中定义的界面 // var storyboard = UIStoryboard(name: "Main", bundle: nil) // var guidanceViewController = storyboard.instantiateViewControllerWithIdentifier("GuidanceVC") as! GuideViewController // self.window!.rootViewController = guidanceViewController } func enterMain(){ self.window!.rootViewController = ViewController() self.window!.backgroundColor = UIColor.whiteColor() self.window!.makeKeyAndVisible() } func applicationWillResignActive(application: UIApplication) { // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. } func applicationDidEnterBackground(application: UIApplication) { // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. } func applicationWillEnterForeground(application: UIApplication) { // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. } func applicationDidBecomeActive(application: UIApplication) { // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. } func applicationWillTerminate(application: UIApplication) { // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. } }
GuideViewController.swift
// // GuideViewController.swift // palmICT_swift // // Created by iaiai on 15/12/17. // Copyright (c) 2015年 iaiai. All rights reserved. // import UIKit class GuideViewController: UIViewController { var scrollView:UIScrollView! var pageControl:UIPageControl! var startButton:UIButton! var numOfPages = 4 override func viewDidLoad() { super.viewDidLoad() //滚动 scrollView = UIScrollView() scrollView.frame = self.view.bounds scrollView.delegate = self scrollView.contentSize = CGSizeMake(self.view.bounds.size.width * CGFloat(numOfPages), self.view.bounds.size.height) scrollView.pagingEnabled = true scrollView.showsHorizontalScrollIndicator = false scrollView.showsVerticalScrollIndicator = false scrollView.scrollsToTop = false for i in 0..<numOfPages { var image = UIImage(named: "guide_0\(i + 1).png") var imageView = UIImageView(image: image) imageView.frame = CGRectMake(self.view.bounds.size.width * CGFloat(i), 0, self.view.bounds.size.width, self.view.bounds.size.height) scrollView.addSubview(imageView) } scrollView.contentOffset = CGPointZero self.view.addSubview(scrollView) //分页圆点 pageControl = UIPageControl() pageControl.frame = CGRect(x: self.view.frame.origin.x, y: self.view.frame.size.height-60, width: self.view.frame.size.width, height: 30) pageControl.numberOfPages = numOfPages pageControl.currentPage = 0 self.view.addSubview(pageControl) startButton = UIButton.buttonWithType(UIButtonType.System) as! UIButton startButton.frame = CGRect(x: self.view.frame.size.width/2-50, y: self.view.frame.size.height-120, width: 100, height: 30) startButton.backgroundColor = UIColor.blueColor() startButton.alpha = 0 startButton.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal) startButton.setTitle("立即体验", forState: UIControlState.Normal) startButton.layer.cornerRadius = 5 //设置圆角 startButton.addTarget(self,action:"jump:",forControlEvents:UIControlEvents.TouchUpInside) self.view.addSubview(startButton) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } func jump(sender: UIButton!) { var viewController = ViewController() viewController.modalTransitionStyle = UIModalTransitionStyle.CrossDissolve presentViewController(viewController, animated: true, completion: nil) } } extension GuideViewController: UIScrollViewDelegate { func scrollViewDidScroll(scrollView: UIScrollView) { var offset = scrollView.contentOffset // 随着滑动改变pageControl的状态 pageControl.currentPage = Int(offset.x / view.bounds.width) // 因为currentPage是从0开始,所以numOfPages减1 if pageControl.currentPage == numOfPages - 1 { UIView.animateWithDuration(0.5) { self.startButton.alpha = 0.8 } } else { UIView.animateWithDuration(0.5) { self.startButton.alpha = 0.0 } } } }
发表评论
-
带你深入理解 FLUTTER 中的字体“冷”知识
2020-08-10 23:40 567本篇将带你深入理解 Flutter 开发过程中关于字体和文 ... -
Flutter -自定义日历组件
2020-03-01 17:56 1027颜色文件和屏幕适配的文件 可以自己给定 import ... -
Dart高级(一)——泛型与Json To Bean
2020-02-23 19:13 925从 Flutter 发布到现在, 越来越多人开始尝试使用 Da ... -
flutter loading、Progress进度条
2020-02-21 17:03 1032Flutter Progress 1 条形无固定值进度条 ... -
Flutter使用Https加载图片
2020-02-21 01:39 901Flutter使用Https加载图片 使用http加载图片出 ... -
flutter shared_preferences 异步变同步
2020-02-21 00:55 766前言 引用 在开发原生iOS或Native应用时,一般有判断上 ... -
Flutter TextField边框颜色
2020-02-19 21:31 853监听要销毁 myController.dispose(); T ... -
flutter Future的正确用法
2020-02-18 21:55 732在flutter中经常会用到异步任务,dart中异步任务异步处 ... -
记一次Flutter简单粗暴处理HTTPS证书检验方法
2020-02-18 14:13 826最近在做Flutter项目到了遇到一个无解的事情,当使用Ima ... -
flutter 获取屏幕宽度高度 通知栏高度等屏幕信息
2019-07-27 08:39 1225##MediaQuery MediaQuery.of(con ... -
Mac上制作Centos7系统U盘安装盘
2019-07-23 11:25 589Centos7 下载地址: https://www.cento ... -
关于flutter RefreshIndicator扩展listview下拉刷新的问题
2019-07-10 19:40 998当条目过少时listview某些嵌套情况下可能不会滚动(条目 ... -
flutter listview 改变状态的时候一直无限添加
2019-07-10 16:01 676setstate的时候会一直无限的调用listview.bui ... -
Flutter Android端启动白屏问题的解决
2019-07-09 00:51 1402问题描述 Flutter 应用在 Android 端上启动时 ... -
Flutter中SnackBar使用
2019-07-08 23:43 679底部弹出,然后在指定时间后消失。 注意: build(Bui ... -
Flutter 之点击空白区域收起键盘
2019-07-08 18:43 1662点击空白处取消TextField焦点这个需求是非常简单的,在学 ... -
Flutter 弹窗 Dialog ,AlertDialog,IOS风格
2019-07-08 18:04 1289import 'package:flutter/mate ... -
flutter ---TextField 之 输入类型、长度限制
2019-07-08 14:30 2199TextField想要实现输入类型、长度限制需要先引入impo ... -
【flutter 溢出BUG】键盘上显示bottom overflowed by 104 PIXELS
2019-07-08 11:13 1447一开始直接使用Scaffold布局,body:new Colu ... -
解决Flutter项目卡在Initializing gradle...界面的问题
2019-07-07 12:53 790Flutter最近很火,我抽出了一点时间对Flutter进行了 ...
相关推荐
一句话搞定App引导页 , 支持闭包。 刚学swift 随便写了一个练手 GitHub : https://github.com/CccciOS/CCPageControl_Swift
Swift新手写的引导页
简单易用的状态栏指示器框架
此APP为模仿版,之前看了一个别人写的swift storyboard版,感觉非常炫酷,于是抽出一点时间写了这个OC版本,仅供娱乐和参考,里面的代码比较繁杂,计算坐标比较麻烦,思想很简单,出来效果感觉还可以,供大家娱乐和...
主要为大家详细介绍了iOS基于UIScrollView实现滑动引导页的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
应用程序APP一般都有引导页,引导页可以作为操作指南指导用户熟悉使用;也可以展现给用户,让用户了解APP的功能作用。引导页制作简单,一般只需要一组图片,再把图片组展现出来就可以了。展示图片组常用UIScrollView...
Onboard 一个iOS框架,轻松创建一个漂亮和吸引人的应用引导页,只有几行代码
一个app引导页的封装,可以选择用图片滚动或者是播放视频
GuideView swift写的引导界面 ...let guidePageController: GuidePageController = GuidePageController(datas:mGuideImages,button:nil) //button 可选 ,set一个UIButton ,会在引导页最后一页加入这个UIButton
感谢源码作者,在原来swift版上做了一个OC版的,代码比较简单,有问题请指正。
开前自打小广告:一键合成APP引导页,包含不同状态下的引导页操作方式,同时支持动态图片引导页和静态图片引导页以及视频引导页;GitHub地址: https://github.com/dingding3w/DHGuidePageHUD (多多Star,多多支持:...
主要介绍了IOS 下获取 rootviewcontroller 的版本不同的问题解决办法的相关资料,希望通过本文能帮助到大家,让大家遇到这种问题可以解决,需要的朋友可以参考下
斯威夫特学习集团印度尼西亚Belajar bareng tiap minggu在线membahas bahasa pemrograman Swift dan pengembangan aplikasi iOS / Mac。 该项目是通过引导的。可用脚本在项目目录中,可以运行:yarn start 在开发...
在第一次安装App, 常常会出现一个引导界面,实现引导页部分透明,部分蒙层的引导, 网上也没有很好的实现demo,自己就用消息链写了一个很简单的例子,供大家参考。
作者fuzheng0301,源码GuidePage,此APP为模仿版,之前看了一个别人写的swift+storyboard版,感觉非常炫酷,于是抽出一点时间写了这个OC版本,仅供娱乐和参考,里面的代码比较繁杂,计算坐标比较麻烦,思想很简单,...
来源:github/RMParallaxLicence:MIT作者:... RMParallax具有视差效果的应用初启动引导页,能够活动从而显现出视差效果。自定义让人印象深刻的图片和描述能够给用户带来深刻的第一印象。RMParallax使用swift所写。
作者fengzhihao123,源码LearnSwift,这是swift自学之路的一个小案例。 1、UIlabel 普通的label (normal label) 带有阴影的label (shadow label) 多属性文本的label (mutableattribute text label) 自适应高度的...
是我之前在iOS中使用Swift开发的一款旧应用,我认为它的概念可以很好地用于扩展-因此我决定将该项目开源,以便其他人可以学习。 产品特点 浏览器弹出扩展 浏览器背景页面(设置但未在该程序中使用) Vue 2.5 异步...
iOS仿Android的可点击Toast近期处理的一个需求,要求提示像android一样不影响页面操作,多个提示会使用串联来把所有的提示都显示完,使用窗口,不依赖页面,提示里面可以进行点击来引导用户,写完之后抽出来供需要的...