iOS引导页
来源:互联网 发布:mac在线重装系统失败 编辑:程序博客网 时间:2024/06/10 13:22
一般手机app第一次安装或者更新都会有介绍产品的引导页面。引导页面一般由3或4张图片以及一个按钮组成。下面介绍一下iOS手机app的引导页的设计。
新建一个视图控制器FirstLauchController;并声明委托
@interface FirstLauchViewController ()这里写代码片<UIScrollViewDelegate>
主要包括下面四个控件:
@property (nonatomic,strong)UIScrollView *lbScrollView;//显示引导页@property (nonatomic,strong)UIImageView *lbImageView;//图片view@property (nonatomic,strong)UIPageControl *lbPageControl;//显示当前处于第几个引导页,小圆点@property (nonatomic,strong)UIButton *useButton;//进入应用的按钮
一个存储图片数组
@property (nonatomic,copy)NSMutableArray *palyImageArray;//要现实引导页的图片数组
初始化这些控件和存储数据
-(UIScrollView *)lbScrollView{ if (_lbScrollView == nil) { _lbScrollView = [[UIScrollView alloc] initWithFrame:self.view.frame]; _lbScrollView.bounces = NO;//设置scrollView禁止回弹 _lbScrollView.contentSize = CGSizeMake((int)self.palyImageArray.count * SCREEN_WIDTH, 0); _lbScrollView.pagingEnabled = YES; _lbScrollView.showsHorizontalScrollIndicator = NO; _lbScrollView.showsVerticalScrollIndicator = NO; _lbScrollView.delegate = self; } return _lbScrollView;}
//小圆点-(UIPageControl *)lbPageControl{ if (_lbPageControl == nil) { _lbPageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(SCREEN_WIDTH/2-50, SCREEN_HEIGHT-100, 100, 10)]; _lbPageControl.numberOfPages = self.palyImageArray.count; } return _lbPageControl; }
//进入应用按钮初始化-(UIButton *)useButton{ if (_useButton == nil) { _useButton = [[UIButton alloc] initWithFrame:CGRectMake(SCREEN_WIDTH * (self.palyImageArray.count - 1) + (SCREEN_WIDTH/2 - 78), SCREEN_HEIGHT - 80, 168, 62)]; [_useButton setTitle:@"进入应用" forState:UIControlStateNormal]; [_useButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; _useButton.backgroundColor = [UIColor clearColor]; _useButton.tag = 1; [_useButton addTarget:self action:@selector(goToApplication:) forControlEvents:UIControlEventTouchUpInside]; } return _useButton; }
//数组-(NSMutableArray *)palyImageArray{ if (_palyImageArray == nil) { _palyImageArray = [NSMutableArray new]; _palyImageArray = [NSMutableArray arrayWithObjects:@"welCome1.jpg",@"welCome2.jpg",@"welCome3.jpg",@"welCome4.jpg", nil]; } return _palyImageArray;}
实现
- (void)viewDidLoad { [super viewDidLoad]; [self.view addSubview:self.lbScrollView];//将滚动视图控件加到view for (int i = 0; i < self.palyImageArray.count; i++) { self.lbImageView = [[UIImageView alloc] init];//初始化 CGFloat imageX = i * SCREEN_WIDTH; CGFloat imageY = 0; self.lbImageView.frame = CGRectMake(imageX, imageY, SCREEN_WIDTH, SCREEN_HEIGHT);//设置位置 [self.lbImageView setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@",self.palyImageArray[i]]]]; [self.lbScrollView addSubview:self.lbImageView];//在滚动视图控件中添加图片视图 } [self.view addSubview:self.lbPageControl];//添加小圆点控件到view [self.lbScrollView addSubview:self.useButton];//在滚动视图中添加进入应用按钮 }#pragma mark lbScrollView Delegate//滑动时,根据滑动的角度确定滑动到哪个页面-(void)scrollViewDidScroll:(UIScrollView *)scrollView{ CGPoint offSet = scrollView.contentOffset; CGFloat offSetX = offSet.x; int pageNumber = (offSetX + 0.5*scrollView.frame.size.width)/scrollView.frame.size.width; self.lbPageControl.currentPage = pageNumber;//设置当前页面,小圆点变颜色}#pragma mark useButton Event Action//进入应用事件-(void)goToApplication:(UIButton *)sender{ LBTabBarViewController *tabBarVC = [[LBTabBarViewController alloc] init]; tabBarVC.view.transform = CGAffineTransformMakeScale(0.2, 0.2); [UIView animateWithDuration:0.2 animations:^{ tabBarVC.view.transform = CGAffineTransformIdentity; }]; self.view.window.rootViewController = tabBarVC; [self.view.window makeKeyAndVisible];}
使用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. if(![[NSUserDefaults standardUserDefaults] boolForKey:IsFirstLauch]) { [[NSUserDefaults standardUserDefaults] setBool:YES forKey:IsFirstLauch]; FirstLauchViewController *vc = [[FirstLauchViewController alloc] init]; self.window.rootViewController = vc; }else { LBWelComeViewController *welcomeVC = [[LBWelComeViewController alloc] init]; self.window.rootViewController = welcomeVC; } return YES;}
demo引导页
阅读全文
0 0
- iOS引导页
- iOS-引导页
- ios用户引导页
- iOS 引导页
- iOS引导页
- ios引导页图片尺寸
- iOS启动引导页
- iOS 引导页
- iOS 引导页
- iOS引导页-初
- iOS 自定义引导页
- iOS引导页
- iOS引导页
- iOS引导页
- iOS引导页
- ios 引导页/半透明引导页做法
- iOS引导页、启动页
- ios开发-引导页实现
- OpenGL中的FBO对象 详解
- 请不要做浮躁的人
- 用异地组网路由器,实现家校互联
- 使用 Gogs 搭建自己的 Git 服务器
- HtmlAgilityPack 去网页返回内容
- iOS引导页
- dp---两个字符串最长公共子序列
- Qt5.9中关于QWebEngineView调用load()软件崩溃
- 【android】build.prop和常用属性的释义
- 姿态估计
- CentOS下的Mysql乱码问题
- python实现二叉树以及二叉树的遍历--1(面向对象的方法实现)
- 收益及付费相关
- IE页面中的img图层总是会高于其他图层