iOS弹出一个View(自定义的提示框)
2016-04-21 14:42
537 查看
之前要写一个iPad的一个项目,里面有一个分享的按钮,弹出一个View,上面几个图片按钮,菜菜的我为了这个小功能花费了很多时间,最后弄明白了,发现之前的思路都想错了,要实现弹出一个View,其实就是先创建两个View(一个遮罩,一个装显示的内容)在点击按钮的时候把这两个View添加到self.view上面先添加遮罩的View,再添加内容的View,不要忘了代码的执行顺序,两个view是分开添加的,不要把内容view添加到遮罩view上面一次添加,点击遮罩view的时候就应该把这两个View
remove掉,(2016-11-15新增内容:几个月的成长我深知我写的这个博客技术含量很低,但是相比还是能够帮很多初学者的,为了更好的提升自定义提示框显示出现退出效果,我加了一个View类的block方法,使用它可以实现较为简单的一些动画~代码在最下面):
首先创建两个view:
然后写好GET方法;遮罩view的点击手势点击的时候走一个方法,remo的代码放在里面
然后在按钮的点击事件里面添加这两个view
点击手势的点击事件
以上就是实现代码部分,我想这个应该能帮助一些和我一样的初入iOS的朋友们,这个方法可以实现很多样式的弹出效果
新增view的block方法实现简单动画的view - block:
声明的那个提示框,在一开始设置好了他的大小位置以后,可以通过某个按钮的点击事件里面写上下面的代码,在下面的blcok代码块里面你可以再次将那个提示框的大小位置重新定制,比如原先我这个视图100*100的宽高,位置处于屏幕外面,我可以让它在点某个按钮时盖面状态为大小200*200宽高,位置为X 200,Y 200的位置显示,旧位置和新位置变化的时长为0.25秒:
除了改变位置其实还可以在里面让它淡出淡入等动画,这些需要你们自己去拓展咯!
remove掉,(2016-11-15新增内容:几个月的成长我深知我写的这个博客技术含量很低,但是相比还是能够帮很多初学者的,为了更好的提升自定义提示框显示出现退出效果,我加了一个View类的block方法,使用它可以实现较为简单的一些动画~代码在最下面):
首先创建两个view:
@property (nonatomic,strong) UIView * maskTheView; @property (nonatomic,strong) UIView * shareView;
然后写好GET方法;遮罩view的点击手势点击的时候走一个方法,remo的代码放在里面
- (UIView *)maskTheView{ if (!_maskTheView) { _maskTheView = [[UIView alloc]initWithFrame:[UIScreen mainScreen].bounds]; _maskTheView.backgroundColor = [UIColor colorWithRed:0/255.f green:0/255.f blue:0/255.f alpha:0.5]; //添加一个点击手势 UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(maskClickGesture)]; [_maskTheView addGestureRecognizer:tap];//让header去检测点击手势 } return _maskTheView; } - (UIView *)shareView{ if (!_shareView) { _shareView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 160)]; _shareView.center = CGPointMake(self.view.frame.size.width/2, self.view.frame.size.height/2); _shareView.backgroundColor = [UIColor whiteColor]; } return _shareView; }
然后在按钮的点击事件里面添加这两个view
[self.view addSubview:self.maskTheView]; [self.view addSubview:self.shareView];
点击手势的点击事件
- (void)maskClickGesture{ [self.maskTheView removeFromSuperview]; [self.shareView removeFromSuperview]; }
以上就是实现代码部分,我想这个应该能帮助一些和我一样的初入iOS的朋友们,这个方法可以实现很多样式的弹出效果
新增view的block方法实现简单动画的view - block:
声明的那个提示框,在一开始设置好了他的大小位置以后,可以通过某个按钮的点击事件里面写上下面的代码,在下面的blcok代码块里面你可以再次将那个提示框的大小位置重新定制,比如原先我这个视图100*100的宽高,位置处于屏幕外面,我可以让它在点某个按钮时盖面状态为大小200*200宽高,位置为X 200,Y 200的位置显示,旧位置和新位置变化的时长为0.25秒:
UIView * view1 = [[UIView alloc]initWithFrame:CGRectMake(-100, 100, 100, 100)];
[UIView animateWithDuration:0.25 animations:^{//0.25是指动画时长,视自身情况而定 CGRect rect = CGRectMake(200, 200, 200, 200); //新的位置及大小 view1.frame = rect; //把新的frame赋值给view1就可以了,这个blcok就会在你上面设置的时间里完成这个view的状态位置的改变 }];
除了改变位置其实还可以在里面让它淡出淡入等动画,这些需要你们自己去拓展咯!
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- Gifski:一个跨平台的高质量 GIF 编码器
- 模仿动画的放大缩小容器
- jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
- Android实现定制返回按钮动画效果的方法
- Android中ViewFlipper的使用及设置动画效果实例详解
- jQuery实现美观的多级动画效果菜单代码
- php判断GIF图片是否为动画的方法
- jQuery实现动画效果circle实例
- HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
- 浅析JavaScript动画
- js排序动画模拟-插入排序
- javascript+HTML5的Canvas实现Lab单车动画效果
- 基于javascript实现漂亮的页面过渡动画效果附源码下载