IOS 拦截所有push进来的子控制器】的更多相关文章

/** * 能拦截所有push进来的子控制器 */ - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated { ) { // 如果现在push的不是栈底控制器(最先push进来的那个控制器) viewController.hidesBottomBarWhenPushed = YES; // 设置导航栏按钮 viewController.navigationItem.leftBarB…
前言:本文篇幅不多,但是涉及到的内容却是开发中常用的. 涉及的内容: 1.统一设置导航控制器子控制器的返回按钮. 2.因为修改了系统的返回按钮,所以还需要设置手势事件. 3.隐藏底部的工具条. 这里直接给出.m的实现文件,.h文件不需要,因为没有属性,没有自定义公开的方法. #import "YMNavigationController.h" @interface YMNavigationController () <UIGestureRecognizerDelegate>…
一.iOS在切换根控制器时,如何销毁之前的控制器?(切换rootViewController时注意的内存泄漏) 首先.在iOS的ARC机制下,任何对象,当没有其他对象对他进行强引用时,都会被自动释放. 而控制器的切换主要为两种方式 push和present modally. 1.0 push出来的子控制器,导航栏控制器会对该子控制器进行强引用(本质就是入栈,在入栈的过程中,可能不止是导航栏控制器对子控制器有强引用) 其中 push 对应着 pop 则控制器会被销毁.其push的本质是入栈,所有的…
AJ分享,必须精品 一:简单介绍 这是新浪微博的iOS端项目,来自于黑马的一个实战项目. 主要分成五大模块,本次全部运用纯代码实现,其中会用到很多前面学过得内容,如果有的地方有重复的知识点,说明这个知识点真的很重要,没有时间看视频学习或者培训的朋友们,可以看AJ的这一系列博客,AJ会竭尽所能的完善他. 有什么不全面的地方,欢迎大家回复我,AJ会尽快改正的. 二:建立项目导入素材 第一步首先我们要建立我们的项目了,在这儿我并没有用最新版的xcode6,而是用的xcode5.1,为什么用的5.1而不…
一.上拉下拉注意事项 使用MJRefresh中的上拉控件自动设置透明 当请求下页数据通过page的时候,注意的是上拉加载更多数据失败的问题,下拉加载数据失败了,页数应该还原.或者是请求成功的时候再将页数修改 二.帖子中的日期显示问题(操作日期的两个类的使用) 期望达到的效果:如图 <1>NSDate -- 需要通过NSDateFormatter(日期格式类)将日期转换成相同的格式,才能相互运算,计算出来的时间间隔是以秒数来呈现的. <2>NSCalendar(日历类) -- 通过当…
如果不将navigationbar.translucent = YES 会觉得颜色很浅,因为这是半透明状态 若navigationbar.translucent = NO,颜色问题解决,但是子控制器视图整体下移 解决办法: 1.在该控制器的viewDidLoad方法里加入这行代码: self.extendedLayoutIncludesOpaqueBars = YES; 2.如果是在storyBoard或者xib中,将此处勾选即可    …
UITabBarController的简单使用 ● UITabBarController的使用步骤 ➢ 初始化UITabBarController ➢ 设置UIWindow的rootViewController为UITabBarController ➢ 根据具体情况,通过addChildViewController方法添加对应个数的子控制器 UITabBarController的子控制器 ● UITabBarController添加控制器的方式有2种 ➢ 添加单个子控制器 - (void)add…
最近想到的一个小需求: 首页切换:点击一个切换按钮,能实现首页的风格.排版等变换,原理是用一个新的VC替换掉. 效果如下:   ====>====> 实现方式很简单: 以我的Demo为例,讲一下思路 1.将一下我的准备条件:底部是tabbarcontroller,每个里面装载一个Nav控制器 2.找到第一个tabbar,替换内部子控制器 核心代码实现: 构造一个新Nav let newVC = UIStoryboard(name: "CurriculumSchedule",…
<pre> http://www.lovelucy.info/understanding-scopes-in-angularjs.html http://blog.csdn.net/jfkidear/article/details/48463899 http://www.angularjs.cn/A09C 子控制器内如何访问父控制器中的变量? 若要访问变量名在子作用域中没有,那么$scope.aaa会找到父中进行访问. 在 AJS 里 子 Scope 会继承父 Scope 中的对象,但当你对基…
****HMAppDelegate.m @implementation HMAppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Overrid…
/** *  初始化子控制器 */ - (void)setupChildVcs { for (int i = 0; i<6; i++) { UIViewController *vc = [[UIViewController alloc] init]; vc.view.backgroundColor = HMRandomColor; [self addChildViewController:vc]; } // 默认选中第0个控制器 [self switchChildVc:0]; } /** * …
问题描述: 我在UICollectionViewController中添加子控制器数组, 并在cellForItem中把子控制器数组中对应的控制器对应的view添加到了UICollectionViewControllerCell的contentView中去了, 但是在运行的时候, 发现首个子控制器的viewWillAppear方法不调用. 原因: 通过addsubview的方法会延时加载, viewWillAppear方法会被跳过. 解决方案: // 在viewDidLoad方法中addChil…
安卓和ios拦截h5点击事件,这个函数事件必须是暴漏在window下的 安卓和ios拦截普通h5函数: <div onclick = "show(),window.android.show()"></div> <script> function show(){ //如果需要传值,可以在show里添加参数,在上面的点击事件中直接进行传值就好 alert(1) } </script> vue函数并没有直接暴漏在window下,vue的点击事件…
1. 禁用手势 和开启手势 extension JYRTSShopListController: UIGestureRecognizerDelegate { /// 禁止使用手势返回 func forbidhenSideBack() { self.isCanSideBack = false if (self.navigationController?.responds(to:#selector(getter: self.navigationController?.interactivePopGe…
如果不将navigationbar.translucent = YES 会觉得颜色很浅,因为这是半透明状态 若navigationbar.translucent = NO,颜色问题解决,但是子控制器视图整体下移 解决办法: 1.在该控制器的viewDidLoad方法里加入这行代码: self.extendedLayoutIncludesOpaqueBars = YES; 2.如果是在storyBoard或者xib中,将此处勾选即可…
一:1:级联菜单可以使用两个tableView来实现,也可以利用父子控制器,两个控制器来实现,根视图控制器作为两个控制器的父控制器,来管理两个子控制器.2:将左右菜单分别交给两个控制器去管理,对于一些复杂的业务逻辑,涉及大量回调操作,业务逻辑也要相对复杂,则不建议采取封装成view去处理,最好还是利用一个控制器去管理其内部复杂的业务逻辑,具体做法就是:利用父子控制器,将子控制器交由父控制器去管理,将子控制器的view添加到父控制器的view上.效果如图: 二:代码 1:根控制器代码:添加两个子控…
内存管理.父子控制器面试题 1.建立父子关系控制器有什么用 回答:1>监听屏幕选中 2>如果想拿到你当前的很小的一个控制器所在的导航控制器必须要跟外面比较大的控制器建立父子关系,才能一层一层往上拿导航控制器 2.第三方API是怎么用的? 回答:0>大公司的开放API 1>github上面别人发布的框架 2>第三方API在官方文档都有说明,按照官方文档一步一步做 3>参考官方提供的示例程序 4>先自己创建一个工程试试,等熟悉了,在使用到项目中 3.列举现在熟悉iOS…
iOS9之前控制StatusBar的两种方式: 第一种方式:全局控制StatusBar 1. 在项目的Info.plist文件里设置UIViewControllerBasedStatusBarAppearance为NO. 2. 使用[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];方法设置颜色. 第二种方式:基于控制器的方式控制StatusBar 1. 在项目的Info.plist…
介绍:在iOS中类与类,控制器与控制器之间传值的方式有多种,分别是:单例传值.代理传值.通知传值.block传值或者一些偏好设置也可以用来传值.... 每一种传值方式都有各自的优点和缺点,针对不同情况选择符合需要的方式进行传值.这里我比较喜欢block方式传值,个人觉得简单好用,省却了不少代码. 下面简单给一个在控制器之间FirstViewController和SecondViewController使用block传值的例子: 在SecondViewController中: SecondView…
在iOS开发过程中,分段控制器的使用频率还是蛮高的,下面是我写的一个简单的demo,大家可以把代码直接复制过去,就可以使用,ios9最新支持. // // ViewController.m // 03_Segmentedcontrol_Test // // Created by 博爱之家 on 15/12/1. // Copyright © 2015年 博爱之家. All rights reserved. // #import "ViewController.h" //宏定义 //当前…
Android中的通知只有一种,就是Local Notifications,而iOS中除了Local Notifications外,还有一种Push Notifications.ios的这2种notification虽然最终的表现相同,都是给用户一个弹出了一条通知,但他们的目的和发出通知的方式完全不同.另外,还需要注意,iOS中还存在一个消息类NSNotification,这个类所指的“通知”和刚才提到的“通知”不同,它指程序逻辑之间的消息通知,是一种编程技术. Push Notificatio…
引用 1.手机要越狱,没有越狱的话,下面的可以不用看了!  2.IOS 要5.0以上,4.xx的同上  首先,声明下!由于公司移动开发的项目中,需要根据手机的内容进行逻辑处理,也就是要实现手机短信拦截,由于,本人一直搞的是JAVA,对OC 语言还是比较陌生的,这段辛酸路总算熬出个苗头!由于,公司中没有人搞这个,遂只能网爬了,郁闷的发现,网上的代码几乎不能运行,在朋友的帮助下,成功的对手机短信进行了拦截!下面贴下研究的心得,由于IT眼没有OC语言标签,下面贴的OC语言用C++代替!  引用 项目首…
1,分割视图控制器(UISplitViewController) 在iPhone应用中,使用导航控制器由上一层界面进入下一层界面. 但iPad屏幕较大,通常使用SplitViewController来实现导航(这个是iPad专用的视图控制器).在横屏下,左侧显示一个 导航列表,点击后右边显示对应的详情.竖屏情况下显示方式会有所不同,默认只显示详细面板,原来左侧的导航列表会通过浮动窗口隐藏,需要从边缘向内拖动来 显示. 2,开发兼容的iOS应用 有时候需要开发兼容iPhone.iPod.iPad的…
一个.一个简单的制作过程(实际工程中不建议这样的方式,不要只展示所用原理的理解) 在AppDelegate.m在: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //创建一个到导航控制器 UIViewController *vc1=[[UIViewController alloc]init]; UINavigationCo…
原文链接:http://www.jianshu.com/p/25fd027916fa 当我们使用了系统的导航栏时,默认点击返回按钮是 pop 回上一个界面.但是在有时候,我们需要在点击导航栏的返回按钮时不一定要 pop 回上一界面,比如一个视频播放界面,进入横屏后,默认点击返回按钮仍然是 pop 返回上一个界面,但是如果我们想要在横屏点击返回按钮的时候是返回竖屏模式,而不是 pop 到上一界面,这该怎么实现呢? 注意:我们要的不是获取点击返回按钮的时机,而是想要拦截点击返回按钮的 pop 操作,…
一.简单介绍 UITableViewCell是UITableView的核心部分,我们在开发中因为功能的扩展经常需要自定义,以便在其上面添加子控件,例如button.label等.添加后获取这些子控件的cell,因为iOS不同系统的缘故此处会有一个坑,可能会崩溃.接下来以button为例来解决. 二.崩溃情况 在自定义cell的时候,在cell上添加了一个button,然后在controller中调用这个button的时候要获取到cell,在iOS6中直接button.superView就可以.…
当我们使用了系统的导航栏时,默认点击返回按钮是 pop 回上一个界面.但是在有时候,我们需要在点击导航栏的返回按钮时不一定要 pop 回上一界面,比如一个视频播放界面,进入横屏后,默认点击返回按钮仍然是 pop 返回上一个界面,但是如果我们想要在横屏点击返回按钮的时候是返回竖屏模式,而不是 pop 到上一界面,这该怎么实现呢? 注意:我们要的不是获取点击返回按钮的时机,而是想要拦截点击返回按钮的 pop 操作,使我们可以进行选择性的 pop,而不是必然的 pop. 下面一步步来解决这个问题. 一…
当我们使用了系统的导航栏时,默认点击返回按钮是 pop 回上一个界面.但是在有时候,我们需要在点击导航栏的返回按钮时不一定要 pop 回上一界面,比如一个视频播放界面,进入横屏后,默认点击返回按钮仍然是 pop 返回上一个界面,但是如果我们想要在横屏点击返回按钮的时候是返回竖屏模式,而不是 pop 到上一界面,这该怎么实现呢? 注意:我们要的不是获取点击返回按钮的时机,而是想要拦截点击返回按钮的 pop 操作,使我们可以进行选择性的 pop,而不是必然的 pop. 下面一步步来解决这个问题. 一…
Android 安卓使用 GCM (Google Cloud Messaging) 接收推送,然后应用根据实际情况决定做什么反应,比如显示一个 Notification. 所以安卓下,推送 Push 和 消息 Notification 是独立的.当用户紧致消息通知权限的时候,用户无法收到 Notification,但 GCM 消息仍然可以收到. 安卓的 Notification 是可以直接自定义图标,声音等信息的.但是安卓在有 Notification 的时候不能给图标加 badge. iOS…
一.控制器的创建和控制器的View的创建 说明:控制器有三种创建方式,下面一一进行说明. 一.第一种创建方式(使用代码直接创建) 1.创建一个空的IOS项目. 2.为项目添加一个控制器类. 3.直接在代理方法中创建一个控制器. #import "YYAppDelegate.h" #import "YYViewController.h" @implementation YYAppDelegate - (BOOL)application:(UIApplication *…