当前界面最上面添加视图(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响应客户端的过程. 您将创建 ...
随机推荐
- delphi.指针.应用
注:初稿...有点乱,可能增删改... 因为指针应用,感觉不好写,请大家指出错误,谢谢. 注意: 本文着重点讲的是指针的各类型的应用或使用,而不是说这种方法不应该+不安全+危险+不提倡使用. 其它:本 ...
- (转) TexturePacker 3.0 使用教程
著名的TexturePacker 已经升级到3.0了,下载地址: http://www.codeandweb.com/texturepacker 免费 license 申请地址: http://www ...
- C++设计模式-Prototype原型模式
作用: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. Prototype模式提供了一个通过已存在对象进行新对象创建的接口(Clone), Clone()实现和具体的语言相关,在C+ ...
- Spring对 JDBC 的支持,JdbcTemplate类的使用
导包:spring框架的包 和 连接数据库连接池的c3p0包 连接mysql数据库的包; 在src目录下建立jdbc.properties文件:存放连接数据库的属性值 jdbc.user=root j ...
- web----test-----selenium
selenium ide 安装就自行百度吧. 对百度进行一个简单的录制. 1. 在Firefox浏览器打开百度页面. 2.在Firefox浏览器菜单栏中,选择“工具” ,选择selenium IDE ...
- leetcode174. Dungeon Game
// learn from https://discuss.leetcode.com/topic/6912/c-dp-solution ''' class Solution { public: int ...
- 头像上传,拖拽,裁切(HTML5)版本
演示地址: http://codeman35.itongyin.com:19002/v1/web_demo.html 功能: 支持滚轴放大缩小,鼠标拖动,裁切可视区域
- Js日期函数Date格式化扩展
prototype是向对象中添加属性和方法,返回对象类型原型的引用,例如对js中日期函数Date进行扩展: Date.prototype.Format = function (fmt) { var o ...
- BAT的面试经验_摘抄
一.心态 心态很重要! 心态很重要! 心态很重要! 重要的事情说三遍,这一点我觉得是必须放到前面来讲. 找工作之前,有一点你必须清楚,就是找工作是一件看缘分的事情,不是你很牛逼,你就一定能进你想进的公 ...
- sql语句_分页查询
1.查询数据库中存在某一列名的表 use [db] go SELECT name FROM sysobjects WHERE id IN (SELECT id FROM syscolumns WHER ...