iOS 中实现功能引导页面
//
// guideView.h
// 07-功能引导-李洪强
//
// Created by vic fan on 16/1/4.
// Copyright © 2016年 李洪强. All rights reserved.
//
#import <UIKit/UIKit.h>
/**
* 定义代理协议
*/
@protocol guideViewDelegate <NSObject>
/**
* 定义可选实现的方法
*/
@optional
- (void)removeFromSuperView:(UIView *)view;
@end
@interface guideView : UIView
/**
* 定义代理对象
*/
@property(nonatomic,assign)id <guideViewDelegate> delegate;
@end
//
// guideView.m
// 07-功能引导-李洪强
//
// Created by vic fan on 16/1/4.
// Copyright © 2016年 李洪强. All rights reserved.
//
#import "guideView.h"
@interface guideView ()
@end;
@implementation guideView
//使用手码创建控件时,一般我们在该方法里动态添加组件&设置自身的一些属性。外界调用init方法,系统内部也会自动调用这个方法
- (instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if (self) {
[self createView:frame];
}
return self;
}
-(void)createView:(CGRect )frame
{
self.backgroundColor = [UIColor blackColor];
self.alpha = 0.5;
/**
* 定义一个数组用来存放图片
*/
NSArray *picName = @[@"app_ass.png",@"dashang.png",@"jinzhang.png",@"zichan.png"];
/**
* for循环
*/
for(int i= 0; i< 4; i++){
/**
1 - 初始化imageView
*/
UIImageView *imageView = [[UIImageView alloc]init];
/**
* 2 - 把给每一个imageView设置图片
*/
imageView.image = [UIImage imageNamed:picName[i]];
/**
* 3 - 给每一个imageView设置tag值
*/
imageView.tag = i+100001;
/**
4 - 判断
* 如果是第一张图片的话
*/
if (i==0) {
imageView.hidden =NO;
imageView.frame = CGRectMake(50, 100, 150, 150);
}else if(i==1){
imageView.hidden =YES;
imageView.frame = CGRectMake(100, 200, 150, 150);
}else if(i==2){
imageView.hidden =YES;
imageView.frame = CGRectMake(200, 400, 150, 150);
}else if(i==3){
imageView.hidden =YES;
imageView.frame = CGRectMake(100, 500, 150, 150);
}
/**
* 5 - 可以与用户交互
*/
imageView.userInteractionEnabled = YES;
/**
6 - 创建一个手势
*/
UITapGestureRecognizer *tapGesture1=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(imageViewClicked:)];
// 7 -将手势添加到对应的imageView
[imageView addGestureRecognizer:tapGesture1];
// 8 - 把imageView1添加到view上
[self addSubview:imageView];
}
}
-(void)imageViewClicked:(UITapGestureRecognizer *)tapGR
{
UIImageView *imageView1 = (id)[self viewWithTag:100001];
UIImageView *imageView2 = (id)[self viewWithTag:100002];
UIImageView *imageView3 = (id)[self viewWithTag:100003];
UIImageView *imageView4 = (id)[self viewWithTag:100004];
if (tapGR.view.tag == 100001) {
imageView1.hidden = YES;
imageView2.hidden = NO;
imageView3.hidden = YES;
imageView4.hidden = YES;
}else if (tapGR.view.tag == 100002){
imageView1.hidden = YES;
imageView2.hidden = YES;
imageView3.hidden = NO;
imageView4.hidden = YES;
}else if (tapGR.view.tag == 100003){
imageView1.hidden = YES;
imageView2.hidden = YES;
imageView3.hidden = YES;
imageView4.hidden = NO;
}else if (tapGR.view.tag == 100004){
imageView1.hidden = YES;
imageView2.hidden = YES;
imageView3.hidden = YES;
imageView4.hidden = YES;
[tapGR.view removeFromSuperview];
// [self removeFromSuperview];
/**
* 判断代理
*/
if([self.delegate respondsToSelector:@selector(removeFromSuperView:)]){
[self.delegate removeFromSuperView:self];
}
}
}
iOS 中实现功能引导页面的更多相关文章
- iOS中 语音识别功能/语音转文字教程具体解释 韩俊强的博客
原文地址:http://blog.csdn.net/qq_31810357/article/details/51111702 前言:近期研究了一下语音识别,从百度语音识别到讯飞语音识别:首先说一下个人 ...
- iOS中 语音识别功能/语音转文字教程详解 韩俊强的博客
每日更新关注:http://weibo.com/hanjunqiang 新浪微博 原文地址:http://blog.csdn.net/qq_31810357/article/details/5111 ...
- Shepherd – 在应用程序中轻松实现引导功能
Shepherd 是一个指导用户使用应用程序的 JavaScript 库.它使用 Tether——另一个开源库,实现所有的步骤.Tether 确保你的步骤不会溢出屏幕或被剪裁.你可以很容易地指导用户使 ...
- IOS中调用系统的电话、短信、邮件、浏览功能
iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评 ...
- iframe ios中h5页面 样式变大
实际项目开发中,iframe在移动设备中使用问题还是很大的,说一说我的那些iframe坑 做过的这个后台管理框架,最开始的需求是PC,但随着业务需要,需要将项目兼容到ipad,后台的框架也是使用的开源 ...
- 如何在ios中集成微信登录功能
在ios中集成微信的登录功能有两种方法 1 用微信原生的api来做,这样做的好处就是轻量级,程序负重小,在Build Settings 中这样设置 然后设置 友盟的设置同上,但是要注意,加入你需要的所 ...
- 阻止iOS中页面弹性回滚,只允许div.phone_body的区块有弹性
使用说明:只要替换选择器:var selector = '.phone_body'; /** * 阻止iOS中页面弹性回滚,只允许div.scroller的区块有弹性 */ (function () ...
- iOS 应用首次开启 出现引导页面
关于引导页面 ,可以是独立的一个视图控制器控制的滚动视图. 重点是处理 如何判断app是首次开启 而调用这个视图控制器得方法. 逻辑如下: -(BOOL)isFirstLoad { if(!标记第一次 ...
- iOS 添加功能引导图
iOS 添加功能引导图 首次安装app之后,打开app首页,有一张功能引导图,其实最简单的一种做法是,直接在这个首页上加一个蒙层图片. 在蒙层上用气泡显示文字注明功能介绍,这个蒙层图片,让你们的UI设 ...
随机推荐
- hdu 4031 2011成都赛区网络赛A题 线段树 ***
就是不知道时间该怎么处理,想了好久,看了别人的题解发现原来是暴力,暴力也很巧妙啊,想不出来的那种 -_-! #include<cstdio> #include<iostream&g ...
- SQL Server 2016将内置R语言?
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:随着大数据成为一个BuzzWord,和大数据相关的技术也变得越来越火热,其中就包括R语 ...
- C泊车管理系统
// // main.c // 泊车管理系统 // // Created by 丁小未 on 13-7-14. // Copyright (c) 2013年 dingxiaowei. All ...
- while do while以及穷举和迭代
今天的新内容1:while循环 格式: while() { } 初始状态要在循环外提前规定 状态改变要写在花括号里面 括号内是循环条件 for循环与while循环的对比: 2:do while 不管循 ...
- CSS3属性
1.边框阴影(box-shadow ): 投影方式,X轴偏移,Y轴偏移,阴影模糊半径,阴影扩展半径,颜色 2.边框图像(border-image) 3.边框圆角:border-radius:5px 4 ...
- iOS Aspect Fit,Aspect Fill,Scale To Fill
Scale:拉伸图片,图片变形. Aspect:图片长宽的保持比例,图片不变形. Aspect Fill(常用):图像充满容器.以长宽中小的参数为限制. Aspect Fit:图像在容器中完整显示.以 ...
- iris数据集
iris以鸢尾花的特征作为数据来源,数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性,是在数据挖掘.数据分类中非常常用的测试集.训练集. 链接地址
- docker不稳定 short running containers with -rm failed to destroy
正常运行以下命令 sudo docker run --rm busybox echo helloworld /var/log/upstart/docker.log 日志如下: // :: POST / ...
- git的合并与推送
集中式合作模式 1.git fetch 获取远程更新 2.git merge origin/master 进行合并,如果报错,则相应解决.注:你得用git bash命令行执行才能看见报错详情,用ecl ...
- 编程之路 - 写给打算进入IT行业的新人们
IT=挨踢,这是IT人的自嘲,进入IT行业是有四五年了,也算得上是一个“老人”了吧,见了不少新人,面试了不少新人,也带了一些新人,多多少少还是有点发言权的. 关于书本 新人们常常会说我看了多少多少的书 ...