当前界面最上面添加视图(UIWimdow)
-(void)windowAddPushVc:(UIView *)pushView WithTitle:(NSString *)title {
UIWindow *window = [UIApplication sharedApplication].keyWindow;
UINavigationBar *navigationBar = [[UINavigationBar alloc]initWithFrame:CGRectMake(0, 0, kScreenWidth, 64)];
UILabel *label = [UILabel rf_labelWithFontName:kFontPingFangMedium FontSize:36 TextAligent:NSTextAlignmentCenter TextColor:[UIColor whiteColor] CanChangeLine:NO];
label.text = title;
[navigationBar addSubview:label];
[label mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(navigationBar);
make.centerY.mas_equalTo(navigationBar).offset(10);
}];
navigationBar.backgroundColor = kGlobelMainColor;
//添加导航栏的阴影效果
navigationBar.layer.shadowOpacity = 0.26;
navigationBar.layer.shadowOffset = CGSizeMake(0, 3);
navigationBar.layer.shadowColor = HexColor(0x000000).CGColor;
//添加返回按钮
[self addBackBtn:navigationBar];
pushView.tag = 1099;
navigationBar.tag = 1098;
pushView.frame = CGRectMake(0, 64, kScreenWidth, kScreenHeight);
navigationBar.frame = CGRectMake(0, 0, kScreenWidth, 64);
[window addSubview:pushView];
[window addSubview:navigationBar];
}
- (void)addBackBtn:(UINavigationBar *)navigationBar
{
//设置导航栏的返回按钮
RFNavButton *backBtn = [[RFNavButton alloc]initWithFrame:CGRectMake(10, 32, kFitW(100), 20)];
[backBtn setImage:[UIImage imageNamed:@"nav_backarrow_icon"] forState:UIControlStateNormal];
backBtn.titleLabel.font = [UIFont fontWithName:kFontPingFangRegular size:kFitFontSize(28)];
[backBtn setTitle:@"返回" forState:UIControlStateNormal];
[backBtn addTarget:self action:@selector(backBtnClick:) forControlEvents:UIControlEventTouchUpInside];
[navigationBar addSubview:backBtn];
}
//导航栏返回按钮的响应事件
- (void)backBtnClick:(UIButton *)btn
{
//只要是从消息在详情界面返回时,通知总的消息列表进行数据的刷新
[[NSNotificationCenter defaultCenter]postNotificationName:kPushListReload object:nil];
UIWindow *window = [UIApplication sharedApplication].keyWindow;
UIView *pushView = [window viewWithTag:1099];
UIView *navgationBar = [window viewWithTag:1098];
[UIView animateWithDuration:0.5 animations:^{
pushView.alpha = 0;
navgationBar.alpha = 0;
}
completion:^(BOOL finished) {
[pushView removeFromSuperview];
[navgationBar removeFromSuperview];
}];
}
获取带有tabbar的控制器的最外层控制器
//获取当前的控制器
-(UIViewController *)gerCurrentVc{
UIViewController *rootVc = [UIApplication sharedApplication].keyWindow.rootViewController;
UIViewController *view = rootVc.childViewControllers[0];
RFTabBarController *tabbarView = (RFTabBarController *)view.presentedViewController;
UIViewController *rootNav = tabbarView.childViewControllers[tabbarView.selectedIndex];
UIViewController *currentVc = rootNav.childViewControllers[rootNav.childViewControllers.count-1];
return currentVc;
}
当前界面最上面添加视图(UIWimdow)的更多相关文章
- iOS 11开发教程(十三)iOS11应用编辑界面添加视图
iOS 11开发教程(十三)iOS11应用编辑界面添加视图 在iOS中添加视图的方式有两种:一种是使用编辑界面添加视图:另一种是使用代码添加视图.以下是这两个方式的详细介绍. 1.编辑界面添加视图 使 ...
- 007.Adding a view to an ASP.NET Core MVC app -- 【在asp.net core mvc中添加视图】
Adding a view to an ASP.NET Core MVC app 在asp.net core mvc中添加视图 2017-3-4 7 分钟阅读时长 本文内容 1.Changing vi ...
- vs2013中,自定义mvc 添加视图脚手架
参考文章: http://weblogs.asp.net/imranbaloch/archive/2013/09/15/customizing-the-asp-net-mvc-5-web-api-2- ...
- ASP.NET MVC系列:添加视图
虽然在上一篇文章中我们知道通过控制器可以在浏览器输出HTML页面,但是这不是控制器主要干的事,因为页面上我为还要做很多好看的特效,页面展示的事情当然交给视图来做了:下面我们就来看看如何添加一个视图 添 ...
- [Asp.net MVC]Asp.net MVC5系列——添加视图
目录 系列文章 概述 添加视图 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 概述 在这一部分我们添加一个新的控制器HelloWorldController类, ...
- Django之admin界面恢复及添加数据模型
引自:http://fl0wjacky.github.io/jekyll_demo/2014/07/14/Django-admin.html Django之admin界面恢复及添加数据模型 Djang ...
- ASP.NET MVC 5 学习教程:添加视图
原文 ASP.NET MVC 5 学习教程:添加视图 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控 ...
- C# MVC 自学笔记—4 添加视图
==============================翻译============================== 在本节中,你将要修改 HelloWorldController 类,以便使 ...
- 【译】ASP.NET MVC 5 教程 - 3:添加视图
原文:[译]ASP.NET MVC 5 教程 - 3:添加视图 在本节内容中,我们将修改HelloWorldController类,使用视图模板来干净利索的封装生成HTML响应客户端的过程. 您将创建 ...
随机推荐
- android studio新建hello world时出现Rendering Problems
The following classes could not be instantiated: - android.support.v7.internal.widget.ActionB ...
- 在windows编译MariaDB
OS: Windows XP sp3 IDE: VS2010 MariaDB: V5.5 (到目前为止2016.5,中文域(.cn)只有清华大学 TUNA 镜像源可用) (.tar.gz为源码:.zi ...
- Android的各种Drawable 讲解 大全
Android把可绘制的对象抽象为Drawable,不同的图形图像资源就代表着不同的drawable类型.Android FrameWork提供了一些具体的Drawable实现,通常在代码中都不会直接 ...
- centos 解压jdk安装包方式安装jdk 出现 java/lang/NoClassDefFoundError: java/lang/Object 错误
安装完JDK ,设定环境变量后出现这个错误: [root@localhost lib]# javacError occurred during initialization of VMjava/lan ...
- MVC之过滤器
1.过滤器 <a>:Authorization 默认实现 AuthorizeAttribute身份验证过滤器,首先运行,在其他过渡器的操作操作方法前执行;<b>:Action ...
- hashmap两种遍历方法
第一种:使用entryset来进行遍历 Map map=new HashMap(); Iterator iter=map.entrySet().iterator(); while(iter.hasNe ...
- java学习第14天(集合的框架和基本遍历)
今天主要是接触了集合的概念,集合简单意义上来说就是类对象的集合,我们一般用Collection 这个接口来表示,集合主要体系为: Collection |--List |--ArrayList |-- ...
- java下的字符流
输入流和输出流相对于内存设备而言.将外设中的数据读取到内存中:输入将内存的数写入到外设中:输出.字符流的由来:其实就是:字节流读取文字字节数据后,不直接操作而是先查指定的编码表.获取对应的文字.比如, ...
- WEB文件上传漏洞介绍解决办法
引用:http://blog.csdn.net/kobejayandy/article/details/35861499 问题: -1. 上传文件WEB脚本语言,服务器的WEB容器解释并执行了用户上传 ...
- 使用HttpClient获取网上字符串和位图对象Bitmap
import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import ...