-(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)的更多相关文章

  1. iOS 11开发教程(十三)iOS11应用编辑界面添加视图

    iOS 11开发教程(十三)iOS11应用编辑界面添加视图 在iOS中添加视图的方式有两种:一种是使用编辑界面添加视图:另一种是使用代码添加视图.以下是这两个方式的详细介绍. 1.编辑界面添加视图 使 ...

  2. 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 ...

  3. vs2013中,自定义mvc 添加视图脚手架

    参考文章: http://weblogs.asp.net/imranbaloch/archive/2013/09/15/customizing-the-asp-net-mvc-5-web-api-2- ...

  4. ASP.NET MVC系列:添加视图

    虽然在上一篇文章中我们知道通过控制器可以在浏览器输出HTML页面,但是这不是控制器主要干的事,因为页面上我为还要做很多好看的特效,页面展示的事情当然交给视图来做了:下面我们就来看看如何添加一个视图 添 ...

  5. [Asp.net MVC]Asp.net MVC5系列——添加视图

    目录 系列文章 概述 添加视图 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 概述 在这一部分我们添加一个新的控制器HelloWorldController类, ...

  6. Django之admin界面恢复及添加数据模型

    引自:http://fl0wjacky.github.io/jekyll_demo/2014/07/14/Django-admin.html Django之admin界面恢复及添加数据模型 Djang ...

  7. ASP.NET MVC 5 学习教程:添加视图

    原文 ASP.NET MVC 5 学习教程:添加视图 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控 ...

  8. C# MVC 自学笔记—4 添加视图

    ==============================翻译============================== 在本节中,你将要修改 HelloWorldController 类,以便使 ...

  9. 【译】ASP.NET MVC 5 教程 - 3:添加视图

    原文:[译]ASP.NET MVC 5 教程 - 3:添加视图 在本节内容中,我们将修改HelloWorldController类,使用视图模板来干净利索的封装生成HTML响应客户端的过程. 您将创建 ...

随机推荐

  1. java中interface的详解

    JAVA的核心概念:接口(interface) 接口与类属于同一层次,实际上,接口是一种特殊的抽象类. 如:    interface IA{ }  public interface: 公开接口  与 ...

  2. c# 获取某日期所在周的第一天和最后一天

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace WyfC ...

  3. android layout布局属性

    参考:http://blog.csdn.net/msmile_my/article/details/9018775 第一类:属性值 true或者 false           android:lay ...

  4. Ajax发送异步请求(四步操作)

    1.第一步(得到XMLHttpRequest) *ajax其实只需要学习一个对象:XMLHttpRequest,如果掌握了它,就掌握了ajax!! *得到XMLHttpRequest >大多数浏 ...

  5. 环境搭建 Hadoop+Hive(orcfile格式)+Presto实现大数据存储查询一

    一.前言 Hadoop简介 Hadoop就是一个实现了Google云计算系统的开源系统,包括并行计算模型Map/Reduce,分布式文件系统HDFS,以及分布式数据库Hbase,同时Hadoop的相关 ...

  6. KETTLE实现数据的删除和更新

    一.实现目标 源数据库的数据更新或者删除之后,目标数据库的数据跟着更新或删除,整体流程截图如下: 一.准备工作 源数据库ORACLE  目标数据库MongoDB,在源数据库添加删除.更新触发器 二.操 ...

  7. php创建文件并写入信息

    $myfile = fopen("c:\\newfile.txt", "w") or die("Unable to open file!") ...

  8. 监控数据库运行 - MS SQL 日常维护管理常用脚本(二)

    查看数据库登录名信息 use mastergoSELECT name AS LoginName , dbname AS DefaultDB , createdate AS CreateDate, up ...

  9. Linux下安装JDK并配置环境变量

    1. 查询是否默认安装有JDK [root@localhost bin]# java -version java version "1.6.0_22" OpenJDK Runtim ...

  10. 解决UITableView上计时器(Timer)的滑动问题

    要想计时器(Timer)不因UITableView的滑动而停止工作,就得探讨一下RunLoop了. RunLoop本质和它的意思一样是运行着的循环,更确切的说是线程中的循环.它用来接受循环中的事件和安 ...