关闭

iOS开发 自定义一个全屏的蒙板(导航栏也能遮挡住)

标签: iOS开发 自定义一个全屏的蒙板导航栏也
230人阅读 评论(0) 收藏 举报
分类:
 

iOS开发 自定义一个全屏的蒙板(导航栏也能遮挡住) 

标签: ios
 1035人阅读 评论(0) 收藏 举报
 分类:

其实很简单,直接上代码

[objc] view plain copy
  1. #import <UIKit/UIKit.h>  
  2. // .h文件  
  3. @interface ShowAnimationView : UIView  
  4.   
  5. -(void)showView;  
  6.   
  7. @end  
  8.   
  9. // .m文件  
  10. #import "ShowAnimationView.h"  
  11. @interface ShowAnimationView ()  
  12.   
  13. @property (nonatomicstrong) UIView  *contentView;  
  14. @end  
  15.   
  16. @implementation ShowAnimationView  
  17.   
  18. - (instancetype)initWithFrame:(CGRect)frame  
  19. {  
  20.     self = [super initWithFrame:frame];  
  21.     if (self) {  
  22.         [self layoutAllSubviews];  
  23.     }  
  24.     return self;  
  25. }  
  26.   
  27. - (void)layoutAllSubviews{  
  28.       
  29.     /*创建灰色背景*/  
  30.     UIView *bgView = [[UIView alloc] initWithFrame:self.frame];  
  31.     bgView.alpha = 0.3;  
  32.     bgView.backgroundColor = [UIColor blackColor];  
  33.     [self addSubview:bgView];  
  34.       
  35.       
  36.     /*添加手势事件,移除View*/  
  37.     UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissContactView:)];  
  38.     [bgView addGestureRecognizer:tapGesture];  
  39.       
  40.     /*创建显示View*/  
  41.     _contentView = [[UIView alloc] init];  
  42.     _contentView.frame = CGRectMake(00self.frame.size.width - 40180);  
  43.     _contentView.backgroundColor=[UIColor whiteColor];  
  44.     _contentView.layer.cornerRadius = 4;  
  45.     _contentView.layer.masksToBounds = YES;  
  46.     [self addSubview:_contentView];  
  47.   /*可以继续在其中添加一些View 虾米的*/  
  48.       
  49. }  
  50. #pragma mark - 手势点击事件,移除View  
  51. - (void)dismissContactView:(UITapGestureRecognizer *)tapGesture{  
  52.       
  53.     [self dismissContactView];  
  54. }  
  55.   
  56. -(void)dismissContactView  
  57. {  
  58.     __weak typeof(self)weakSelf = self;  
  59.     [UIView animateWithDuration:0.5 animations:^{  
  60.         weakSelf.alpha = 0;  
  61.     } completion:^(BOOL finished) {  
  62.         [weakSelf removeFromSuperview];  
  63.     }];  
  64.       
  65. }  
  66.   
  67. // 这里加载在了window上  
  68. -(void)showView  
  69. {  
  70.     UIWindow * window = [UIApplication sharedApplication].windows[0];  
  71.     [window addSubview:self];  
  72. }  
  73.   
  74. /* 
  75. // Only override drawRect: if you perform custom drawing. 
  76. // An empty implementation adversely affects performance during animation. 
  77. - (void)drawRect:(CGRect)rect { 
  78.     // Drawing code 
  79. } 
  80. */  
  81.   
  82. @end  
0
0
查看评论

iOS开发 自定义一个全屏的蒙板(导航栏也能遮挡住)

__weak typeof(self)weakSelf = self; [UIView animateWithDuration:0.5 animations:^{ weakSelf.alpha = 0; } completion:^(BOOL finished) { ...
  • syg90178aw
  • syg90178aw
  • 2015-08-20 15:14
  • 9445

iOS支持全屏侧滑导航栏(完全自定义)开源项目

做了好几个项目,其中包括公司和个人项目。基本都是导航栏需要加入特效处理(比如侧滑渐变、上下滑渐变、高斯模糊等),还有一个比较重要的就是支持全屏侧滑手势。这时候需要自定义导航栏控制器+自定义导航栏。一般项目的基础UI架构都是NavigationController+TabbarController,若...
  • u010670946
  • u010670946
  • 2017-09-06 13:55
  • 221

iOS自定义NavigationBar后如何实现全屏右滑返回

本文是在广州小码哥高级导师吖了个峥的文章《8行代码教你搞定导航控制器全屏滑动返回效果》的基础上进行了修改后的成果。原文链接附上:http://www.cocoachina.com/ios/20150811/12897.html 原文中的实现效果在某些情况下会出现一些Bug,例如只要手指在屏幕上滑动...
  • yanjinfeng_S
  • yanjinfeng_S
  • 2015-11-19 17:45
  • 1861

Android手机底部导航栏遮挡住布局问题解决方案

Android底部导航栏遮挡住布局
  • SkySmile1992
  • SkySmile1992
  • 2017-09-28 11:50
  • 334

视频全屏播放返回后,导航栏整体上移20

视频全屏播放返回后,导航栏整体上移20 做视频播放时,使用MPMoviePlayerController做全屏播放返回时,会导致导航栏上移 原因是,全屏播放会使状态栏隐藏, 而全局只有一个状态栏,播放返回时,状态栏未回复 解决方法: - (void)vi...
  • aa605397965
  • aa605397965
  • 2017-09-15 10:17
  • 287

iOS 自定义导航栏笔记

一、UINavigationBar的结构 导航栏几乎是每个页面都会碰到的问题,一般两种处理方式:1.隐藏掉不显示 2.自定义 1. 添加导航栏 TestViewController * mainVC = [[TestViewController alloc] init]; UINavigati...
  • li_yangyang_li
  • li_yangyang_li
  • 2016-12-22 11:38
  • 1094

IOS基础-导航栏控制器 UINavigationController

UINavigationController 是所有控制器中重要且常用的控制器, 它控制器中的控制器-控制器容器,它不仅有导航栏的作用还有toolbar的作用 可以在UINavigationItem上布置很多按钮。 1.创建一个Single View Application 基于storybo...
  • doitsjz
  • doitsjz
  • 2015-12-10 23:39
  • 674

全屏蒙板添加

div class="address_runyuan" style="margin:0 auto;width:1200px;"> style> .runyuanAddr{ text-align:center; font-size:40p...
  • qiphon3650
  • qiphon3650
  • 2017-07-31 15:25
  • 247

ios 自定义导航栏和分割线

自定义导航栏: // CustomNaviBarView.h #import @interface CustomNaviBarView : UIView { @private /** * 左侧按钮 */ UIButton* _leftButton; ...
  • qilixiang012
  • qilixiang012
  • 2014-11-20 13:17
  • 2539

iOS开发navigationBar导航条和navigationItem设置:基本搞定导航条上的文字和按钮以及各种跳转

转载自:http://blog.csdn.net/weisubao/article/details/39646739 (1)navigationBar导航条可以看做是self.navigationController导航控制器的一个属性,可以直接用点来表示self.navigationCo...
  • yuxikuo_1
  • yuxikuo_1
  • 2014-12-25 20:05
  • 3298
    个人资料
    • 访问:58318次
    • 积分:1390
    • 等级:
    • 排名:千里之外
    • 原创:75篇
    • 转载:58篇
    • 译文:0篇
    • 评论:0条
    文章分类