NavigationController.viewControllers】的更多相关文章

  NSMutableArray *viewControllersArray = [NSMutableArray new];    // 获取当前控制器数组    for (CardLoanBaseTableViewController *viewController in self.navigationController.viewControllers) {        [viewControllersArray addObject:viewController];        if (…
在iOS7中,如果使用了UINavigationController,那么系统自带的附加了一个从屏幕左边缘开始滑动可以实现pop的手势.但是,如果自定义了navigationItem的leftBarButtonItem,那么这个手势就会失效.解决方法有很多种 1.重新设置手势的delegate self.navigationController.interactivePopGestureRecognizer.delegate = (id<UIGestureRecognizerDelegate>…
前提是,由N个视图跳转过来的. //返回前n个 NSInteger index=[[self.navigationController viewControllers]indexOfObject:self]; [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:index-n]animated:YES];…
一,popViewControllerAnimated [self.navigationController popViewControllerAnimated:YES]; 二,popToRootViewControllerAnimated [self.navigationController popToRootViewControllerAnimated:YES]; 三,popToViewController [self.navigationController popToViewContro…
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageWithColor:[UIColor clearColor]] forBarMetrics:UIBarMetricsCompact];   self.navigationController.navigationBar.barStyle = UIBaselineAdjustmentNone;   [self.navigationController.…
NSArray *viewControllers = self.navigationController.viewControllers;A *viewController = [viewControllers objectAtIndex:[viewControllers count] - 2 ]; [self.navigationController popToViewController:viewController animated:YES]; 方法一:   你自己算 你是第几级界面  然…
项目要实现从一个Navigation 下push出的第N层controller后 立即切换到另一个 Navigation下 例如:在微信的通讯录Nav中选择一个好友,进入好友的详细资料,点击发消息按钮后,进入聊天界面,这时你会发现点击左上返回按钮后pop到的时微信Nav,(另一个NavigationController). QQ也有这样的功能,但是没有微信做的好,仔细看就会发现 QQ 是通过 先pop到rootViewController后(不带动画的)然后tabbarController 切换…
使用NavigationViewController进行页面跳转时,应该使用pushViewController方法来跳转至下一页面,这样的话,下一页面同样在NavigationViewController容器中. 1.跳转到下一页面: AloneSetPrizeViewController *setPrize = [[AloneSetPrizeViewController alloc] init]; //所要跳转页面AloneSetPrizeViewController中有个属性diction…
在NavigationController中,调用pushViewController可以将界面推到指定的界面,调用popToViewController可以返回上层界面,可是它的实现原理是什么? 好吧,说到原理,就要看源码,可是源码被封装了,看不到,那就不谈原理,那就谈谈 它为什么知道你pop的是上一层的viewcontroller,而不是别的呢?在Navigationcontroller的属性列表中,我们可以发现一个属性:viewControllers ,对,就是它! 它将你所有push的v…
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:3] animated:YES];…
###1.问题描述:如A是navigationController的rootViewController,在这个页面navigationBar是显示的(隐藏属性为NO),它push圧栈过来B视图控制器,B页面navigationBar是不显示的(隐藏属性为YES),有一定几率会出现,B要右滑pop自己要圧栈A时,右滑手势会失效,即使B中设置 self.navigationController.interactivePopGestureRecognizer.enabled = YES也不起作用##…
假设需求时这样: NavigationController下有2个视图,从A视图会Push到B视图,默认情况下,当显示视图B时,视图B的导航bar上会出现返回按钮,按钮标题文字默认为A视图的title,通常你也许会想自定义返回按钮的标题文字,也许你还想自定义处理点击返回按钮的业务逻辑. 那么,你可以通过下面的方式来实现(这里用的是Swift的实现方式): 方式1 在B视图的viewDidLoad中设置给NavigationController设置一个新的左边bar,添加一个处理点击返回按钮的方法…
1.理解NavigationController返回机制 一般NavigationController下的子view只有一层或者有很多层,子view返回最顶层则可以直接用 [self.navigationController popViewControllerAnimated:YES]; 如果NavigationController下有好几层子view,当前子view返回上一层,则可以用 [self.navigationController popToViewController:[self.n…
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageWithColor:[UIColor clearColor]] forBarMetrics:UIBarMetricsCompact];   self.navigationController.navigationBar.barStyle = UIBaselineAdjustmentNone;   [self.navigationController.…
@implementation UIViewController (UIViewControllerExt) - (void)popViewController:(NSString *)controllerStr { for (UIViewController *vc in self.navigationController.viewControllers) { if ([vc isKindOfClass:[NSClassFromString(controllerStr) class]]) {…
AViewController----Push----BViewController 1.属性 AViewController---pop----BViewController 1.代理  2.通知  3.Block  4.NSUserDefault   5.单例  6.属性 //Bviewcontroller已经存在于self.navigationController.viewControllers中,并且是当前页面的前一页面 AViewcontroller *AVC = [self.navi…
一.UIViewController 的生命周期 下面带 (NSObject)的方法是NSObject提供的方法.其他的都是UIViewController 提供的方法. load   (NSObject) initialize   (NSObject) init   (NSObject) initWithCoder initWithNibName awakeFromNib   (NSObject) loadView viewDidLoad viewWillAppear updateViewCo…
前言部分 注:本文并非绝对原创 大部分内容摘自 http://blog.csdn.net/hengshujiyi/article/details/20943045 文中有些方法可能已过时并不适用于现在的开发环境. 1.Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用). 其实在代码里还是可以设置的,那就是删除背景view  [[self.searchBar.subviews objectAtIndex:0]…
作者:神兽gcc 授权本站转载. 最近把iOS里的UI组件重新整理了一遍,简单来看一下常用的组件以及它们的实现.其实现在这些组件都可以通过Storyboard很快的生成,只是要向这些组件能够变得生动起来并且赋予它们更具生命力的事件,还是需要一番功夫的. UIButton 这儿有一篇教程,挺全的,可以参考下:http://www.cnblogs.com/chen1987lei/archive/2011/09/09/2172757.html 这个就不多说了,对照官方的文档也可以更多的去学习.插一句题…
1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可以存放,就是类NSNumber c:NSDATA与NSString互转 d:去除输入框空格(NSString也适用) f:IBOutlet,IBAction说明 2:IOS开发基础知识--碎片2  a:获得另一个控件器,并实现跳转 b:判断IOS版本 c:Button不同状态下背景图片 d:判断设备…
  1:Masonry 2个或2个以上的控件等间隔排序 /** * 多个控件固定间隔的等间隔排列,变化的是控件的长度或者宽度值 * * @param axisType 轴线方向 * @param fixedSpacing 间隔大小 * @param leadSpacing 头部间隔 * @param tailSpacing 尾部间隔 */ - (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedSpacing:(CG…
有时候在项目中,为了保持前后页面的推进方式跳转方式一致,会在通过UIview上的控件跳到另一个Controller上,所以,这时候就需要用到这种方式了,当然,present方法可以实现跳转但是样式可能不同,这时候在我的想法可以使用代理或者回调,当你不熟悉时,就用到了这个方法: 1.参考别人的方法:   http://gekie.iteye.com/blog/1133460 2.使用响应者链的方法... 1> 假定你的项目中有文件 UIViewContronllerA, UIViewContron…
遍历可变数组的同时删除数组元素 NSMutableArray *copyArray = [NSMutableArray arrayWithArray:array]; NSString *str1 = @“zhangsan”; for (AddressPerson *perName in copyArray) { if ([[perName name] isEqualToString:str1]) { [array removeObject:perName]; } } 获取系统当前语言 NSStr…
在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewalloc] initWithFrame:CGRectMake(0, 0, 0, 0.1)]; self.tableView.tableHeaderView = view; UITableView的plain样式下,取消区头停滞效果 - (void)scrollViewDidScroll:(UIScro…
考虑到interactivePopGestureRecognizer也有delegate属性,替换默认的self.navigationController.interactivePopGestureRecognizer.delegate来配置右滑返回的表现也是可行的.在主ViewController中: - (void)viewDidLoad { [super viewDidLoad]; self.navigationController.interactivePopGestureRecogni…
前言 在iOS9之前我们只能使用Spotlight来搜索应用名称来打开指定App,而其他的内容都是提供给系统使用(信息,联系人,邮件等).在iOS9以后Apple允许开发者设置应用中任意内容可以被Spotlight索引到以及用户在选择了搜索内容时会发生什么.如demo所示: 图1 Spotlight搜索应用内结果示意图 简单介绍 在iOS9中提供了三种API来帮助我们实现搜索,如下: 图2 iOS 9新增搜索API NSUserActivity NSUserActivity包含了一些新的方法和属…
Spotlight在iOS9上做了一些新的改进, 也就是开放了一些新的API, 通过Core Spotlight Framework你可以在你的app中集成Spotlight.集成Spotlight的App可以在Spotlight中搜索App的内容,并且通过内容打开相关页面.因为接到开发任务,老大说让在App中支持Spotlight, 于是又搞了搞苹果的官方文档.可以说,集成Spotlight不算复杂,官网上讲的也挺明白的,今天博客就通过一个Demo来集成一下Spotlight. 苹果官方有关C…
iOS学习(UI)知识点整理 一.界面传值方法 1.方法一  Block传值  通过SubView视图的Block向View视图传值改变View视图的背景色 实例代码: 1)SubViewController.h 文件的代码实现 #import <UIKit/UIKit.h> @interface SubViewController : UIViewController @property (nonatomic,copy) void(^callback)(UIColor *color); -(…
不知不觉团队已经有了4个iOS开发,大家的代码风格完全不一样,所以每次改起别人的代码就头疼,理解起来不是那么顺畅,如鲠在喉.所以,就开了场分享会,把一些基本调用方法和代码风格统一了一下. 前言 主要参考了: view层的组织和调用方案 更轻量的View Controllers 整洁的Table View代码 因为每个人的风格不一样,有些地方很难定义哪个好那个坏,但是同样的风格很重要,对团队有很大的好处.这些博客都详细介绍了这样做的原因,我这里就把他们的精髓吸取了,加了些自己的想法,就把格式直接定…
1:通用的weakify和strongify /** * 强弱引用转换,用于解决代码块(block)与强引用self之间的循环引用问题 * 调用方式: `@weakify_self`实现弱引用转换,`@strongify_self`实现强引用转换 * * 示例: * @weakify_self * [obj block:^{ * @strongify_self * self.property = something; * }]; */ #ifndef weakify_self #if __has…