UITransitionView and UILayoutContainerView】的更多相关文章

What is UITransitionView? What is UILayoutContainerView? Will I get in trouble for adding subviews to them? They are the superviews of a UITableView which is inside of a UINavigationController which is inside of a UITabBarController. UITransitionView…
转:http://blog.dongliwei.cn/archives/uiview-tree-code // Recursively travel down the view tree, increasing the indentation level for children - (void)dumpView:(UIView *)aView atIndent:(int)indent into:(NSMutableString *)outstring { ; i < indent; i++)…
//屏幕视图分层 .UIWindow .UILayoutContainerView .UITransitionView .UIViewControllerWrpaperView .UILayoutContainerView--> //就是self.navigationController.view .UINavigationTransitionView .UIViewControllerWrpaperView .UIView //表视图分层 .UItableView . .MJRefreshNo…
当页面使用 UITabBarController + UINavigationController 框架的时候,当跳转到详情页面的时候,如果 UITabBar 仍然存在的话就会造成逻辑混乱,用户体验也会下降,因此我们就有一个在详情页将 UITabBar 隐藏的需求,当然,在其他的一些情况也可能有隐藏 UITabBar 的需求, 在这里小编为大家介绍三种隐藏 UITabBar 的方法,大家可以根据详细的需求进行选择. 1.第一种: 直接隐藏当前页面的 UITabBar // 显示tabBar se…
在程序中,总会设置“返回”按钮,但不可能在每一个控制器中都去设置一次“返回”按钮,那如何设置全局的“返回”按钮呢? 首先自定义一个导航控制器,在tabBarController中添加子控制器时,使用这个自定义的导航控制器,所以在这个导航控制器中重写push方法设置“返回”按钮就可以了. - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated { // 如果是根控制器,则不需要添加“…
解决类似网易新闻客户端收到新闻推送后,弹出一个UIAlert,然后跳转到新闻详情页面这种需求 1.提供一个UIView的分类方法,这个方法通过响应者链条获取view所在的控制器 - (UIViewController *)parentController { UIResponder *responder = [self nextResponder]; while (responder) { if ([responder isKindOfClass:[UIViewController class]…
[BS] 小知识点总结-05 1. 不论UIWindow的rootViewController是navC.tabBarC还是VC,也不管modalVC和rootVC中间隔着多少个VC,但是modal出来的视图,其UI结构一定是这样: 先是UIWindow,然后是跳转用的完全透明的UITransitionView,然后直接就是modalVC的view.如果将modalVC.view.backgroundColor设置为clearColor,那么将直接看到的是window的颜色. 综上:通过moda…
点击return取消textView 的响应者 - (BOOL)textFieldShouldReturn:(UITextField *)textField { [_contactTextFiled resignFirstResponder]; return YES; } - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{…
依赖于第三方的框架RESideMenu 1.AppDelegate.m中的实现 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. //在AppDelegate.h中声明属性,初始化tabBarContro…
在项目中经常遇到隐藏tabBar,实力很多种方法,可以解决不同情况下问题 使用中涉及到view的层次关系,下面的使用方法 1.2不做说明:在使用3.4方法时注意要在tabBar所在的rootView中调用实现(必要时使用委托,已达到所需要的目的) 举例:A(rootView 是tabBarCtroller):B(A的subView):C(B通过pushViewController) 如果想要C出现的时候将tabView隐藏(且C是全屏的,能展开到tabbar存在的位置),B显示的时候babVie…
(原文:Reader Submissions - New Year's 2015 作者:Mattt Thompson 译者:培子 校对:蓝魂) 回顾过去一年发生在我们身边的事情时,有一点不得不提:对苹果开发者来讲,2014年是令人难以置信的一年.在这短短的一年中(有关APP的开发)发生了如此多的变化:在充满吸引力的Swift面前,我们几乎忘了之前是如何痴迷于Objective-C:以及充满想象力的iOS 8和WatchKit,难以想象还有什么API能与之相比. NSHipster的惯例:请可爱的…
1.应用场景——自定义UITabBarController的TabBar视图 (1)隐藏TabBar视图 一般我们选择自定义TabBar视图有两种方式.1是将tabBar视图隐藏;2是将TabBar视图从父视图中移除,代码如下(假设,已创建UITabBarController子类): - (void)viewDidLoad { // 隐藏视图 self.tabBar.hidden = YES; // 或者直接移除TabBar视图 [self.tabBar removeFromSuperview]…
看到现在app 中越来越流行的手势滑动实现pop效果,心里很是痒痒跃跃欲试,经过多方查看资料,终于在简书上找到了详细的实现方案: 轻松学习之二——iOS利用Runtime自定义控制器POP手势动画 经过修改实现了简单的(自定义导航控制器)手势滑动实现pop返回效果: 1.先打印了导航控制器的interactivePopGestureRecognizer,log结果如下: <UIScreenEdgePanGestureRecognizer: 0x7fe5f1579ce0; state = Poss…
我们知道,iOS7以后,导航控制器默认带了侧滑返回功能,但是仅限于屏幕边缘.而且在你自定义leftBarButtonItem等之后侧滑效果就会消失.这种问题怎么解决呢? 首先,我们先来看看系统的这种手势是什么? NSLog(@"%@",self.interactivePopGestureRecognizer);//这里的self是项目中用的navigationController 打印结果: <UIScreenEdgePanGestureRecognizer: 0x15ecc9e…
说明: UINavigationController默认在push出的控制器中都有边沿滑动返回功能,但是只能从屏幕左边滑才能返回,若从屏幕中间画并没有效果.下面实现全屏滑动功能. 探究: 系统默认能够实现滑动返回是因为UINavigationController具有interactivePopGestureRecognizer,所以我们可以使用NSLog打印出它的全部信息如下 <UIScreenEdgePanGestureRecognizer: 0x7fdf4a431c70; state = P…
修复 bug 占用我们日常开发的大部分时间,熟练的使用调试工具可以给我们节约大部分的时间. LLDB 的常用命令 expression expresion 是一个非常常用的命令,我们可以通过这个命令来执行一些表达式,这样我们就不需要重写运行工程了,例如: (lldb) expression -- self.view.backgroundColor = [UIColor greenColor] (lldb) expression -- (void)[CATransaction flush] //…
每日更新关注:http://weibo.com/hanjunqiang  新浪微博! 点击return取消textView 的响应者 - (BOOL)textFieldShouldReturn:(UITextField *)textField { [_contactTextFiled resignFirstResponder]; return YES; } - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRan…
Chisel-LLDB命令插件 相信每个人或多或少都在用LLDB来调试,比如po一个对象.LLDB的是非常强大的,且有内建的,完整的 Python 支持.今天我们主要介绍一个 facebook 开源的 lldb 插件 Chisel.可以让你的调试更Easy. 1.安装Chisel 源码地址: Chisel Chisel 使用 homebrew 来安装,如果你没有安装homebrew, 参考 homebrew. 1 2 brew update brew install chisel 安装完成按照安…
cycript的原理是动态库注入,但是其动态库注入的原理,与我们常见的通过LC_LOAD_DYLIB在可执行文件中注入动态库不同. cycript的操作是 : 抓取到要挂载的应用, 由于越狱机上拥有权限,所以直接在挂载的进程上创建一个挂起的线程, 然后在这个线程里申请一片用于加载动态库的内存, 然后恢复线程,动态库就被注入. 越狱的手机上安装cycript 查找进程 ps -e|grep /Application/ 查找MobileNotes 注入进程: cycript -p MobileNot…
在程序中,总会设置“返回”按钮,但不可能在每一个控制器中都去设置一次“返回”按钮,那如何设置全局的“返回”按钮呢? 首先自定义一个导航控制器,在tabBarController中添加子控制器时,使用这个自定义的导航控制器,所以在这个导航控制器中重写push方法设置“返回”按钮就可以了. - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated { // 如果是根控制器,则不需要添加“…
初级:第一步   为程序添加符号断点 malloc_error_break  方法如下. 目标效果:让程序崩溃时跳转到出错到那一行.但是往往达不到这个效果.不行就继续往下看. At times, while running through your app, you might come across this warning on console: MyApp(2121,0xb0185000) malloc: *** error for object 0x1068310: double fre…
在iOS逆向工程中,Reveal扮演着重要角色,一般情况下,Reveal在iOS开发过程中可以分析UI界面的状态,同样也可以应用于分析其他任意的App.Reveal是一个很强大的UI分析工具,可非常直观地查看app的UI布局,不仅限于自己的app,其他app的UI布局也一览无余. 必须要一台越狱手机 越狱教程:http://www.taig.com 安装openSSH(Cydia源里安装) 在mac终端通过openSSH命令连接越狱机 1.越狱机与mac必须连接同一网络2.在终端命令中输入ssh…
代码地址如下:http://www.demodashi.com/demo/13848.html 效果预览 一.前期准备 有一个支持全屏侧滑返回的视图控制器ViewController,ViewController.view上有一个UIScrollView,UIScrollView上有UISlider.俺直接在之前的示例Demo上演示,地址:iOS 自定义转场动画 二.问题展示 现象 1.UIScrollView当前在第一页即contentOffset.x=0时,左滑不能触发全屏侧滑pop返回的手…
对于一个带有视频播放功能的app产品来说,视频全屏是一个基本且重要的需求.虽然这个需求看起来很简单,但是在实现上,我们前后迭代了三套技术方案.这篇文章将介绍这三种实现方案中的利弊和坑点,以及实现过程中积累的经验. 需求要点: 在屏幕旋转的动画中,需要保持播放器之外的界面布局(比如“First View”等几行字的布局不应该发生变化) 全屏切换到小屏,小屏需要回到原先位置 对于这三种实现方案,我写了个demo分别示意.三个方案分别在demo的三个tab中. 原始方案:方案一 从小屏进入全屏时,将播…
隐藏uitabbar的代码: /** *  隐藏UITabbar * *  @param hidden yes隐藏 */ - (void)hidesTabBar:(BOOL)hidden{ [UIView beginAnimations:nil context:NULL]; [UIView setAnimationDuration:0]; for (UIView *view in self.tabBarController.view.subviews) { if ([view isKindOfC…
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { // 首先判断otherGestureRecognizer是不是系统pop手势 if ([otherGestureRecognizer.view isKindOfClas…
Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [nan 40] 栈信息打印如下: 2015-10-20 10:01:12.871 Putaoji[49129:1691777] *** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reaso…
解决方法 :   UIView *view = [UIApplication sharedApplication].keyWindow;             NSLog(@" -- >> 1 subview:%@",view.subviews);             MBProgressHUD *hud = view.subviews[1];             [hud removeFromSuperview];             NSLog(@&quo…
代码地址如下:http://www.demodashi.com/demo/12955.html 一.总效果 本文记录分享下自定义转场动画的实现方法,具体到动画效果:新浪微博图集浏览转场效果.手势过渡动画.网易音乐启动屏转场动画.开关门动画.全屏侧滑返回效果 的代码可以到代码中查看,注释还算清晰. 二.实现 ①模态化present和dismiss 自定义转场 1.创建一个遵循协议的动画过渡管理对象,并实现如下两个方法: //返回动画事件 - (NSTimeInterval)transitionDu…
代码地址如下:http://www.demodashi.com/demo/11678.html 这篇笔记翻译自raywenderlick网站的过渡动画的一篇文章,原文用的swift,由于考虑到swift版本变动以及一些语法兼容问题,这里我还是用Objective-C进行了改写,没有逐字翻译,加了部分自己的理解.原文链接Creating Custom UIViewController Transitions.过渡动画有些地方也是翻译成转场动画,即从一个视图控制器切到另一个视图控制器,本文以过渡来译…