当前界面最上面添加视图(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响应客户端的过程. 您将创建 ...
随机推荐
- 用直接路径(direct-path)insert提升性能的两种方法
1.传统串行insert方式 常见的insert方式有两种: (1) insert into table_name values(....) (2) insert into target_table ...
- Oracle的exp/imp详解
原文地址:Oracle的exp/imp详解 作者:jxlazzw 备份概述 逻辑备份:备份可分为两类 ,物理备份和逻辑备份 物理备份:该方法实现数据库的完整恢复,但需要极大的外部存储设备,例如磁带库, ...
- WebStorm 10.0.4注册码
WebStorm 是JetBrains旗下的一款轻量级JavaScript 开发工具,软件的功能非常强大,具备复杂客户端和服务器端的开发能力,被广大中国JS开发者誉为“Web前端开发神器”.“最强大的 ...
- EasyUI DataGrid 分页实现示例
使用easyui可以很方便的开发web程序,这儿仅展示一个后台使用mvc来实现分页的示例,截图如下 示例代码如下 1. 创建模型类,代码如下 using System; using System.Co ...
- cvs update后输出的文件标志 和 update常用的几个参数
(1)update 和 checkout 在执行中,会为每个文件打印一行提示信息,文件的状态通过前面的单个字符指明: U file 文件按要求从仓库得到更新.用在那些仓库里面 ...
- AX7: CREATE AN AUTOMATED TEST PACKAGE\MODEL
AX7: CREATE AN AUTOMATED TEST PACKAGE\MODEL It’s really important for a stable solution the use of a ...
- python多进程提高cpu利用率
cpu参数: 1个物理cpu,2个逻辑cpu(超线程),单核 具体 http://blog.csdn.net/dba_waterbin/article/details/8644626 物理CPU. ...
- The C Programming Language Exercise
1-9 : Write a program to copy its input to its output, replacing each string of one or more blanks b ...
- [转载]python操作excel使用win32com
原文链接:http://blog.163.com/yang_jianli/blog/static/16199000620138532243782/ 使用COM接口,直接操作EXCEL(只能在Win上) ...
- MaxScript重启3dsMax的重新思考
前天看到一位大神写用MaxScript实现重启3dsMax的方法,用的是.net临时编译一个exe出来,然后用这个新的进程来关闭并开启新的max.感觉这种思路不错,或许可以用在别的地方.不过谈及max ...