首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS学习—— UINavigationController返回按钮与侧滑返回手势研究

导航栏左上角back按钮是附着在UINavigationControllerUINavigationBar里自带一个返回按钮,导航栏自带back按钮图层结构如下图所示。...self.navigationController.interactivePopGestureRecognizer.enabled = NO; //禁用侧滑手势  1.2 侧滑使用注意 侧滑手势在使用需要注意一点就是在项目开发...,我们一般是采用UITabBar + UINavigationController架构,对于每一个UITabBaritem模块,我们都定义一个UINavigationController对该item... 添加按钮,然后添加按钮点击功能即可。...,如果你上一级设置backBarButtonItem标题过长(没有设置则默认是上一级标题),那么系统可能会自动用“Back/返回”来代替返回按钮标题。

6.3K60
您找到你想要的搜索结果了吗?
是的
没有找到

iOS开发之窥探UICollectionViewController(五) --一款炫酷图片浏览组件

本篇博客应该算上CollectionView高级应用了,从iOS开发之窥探UICollectionViewController(一)到今天(五),可谓是由浅入深窥探了一下UICollectionView...在上篇博客《iOS开发之窥探UICollectionViewController(四) --一款功能强大自定义瀑布流》,通过自定义CollectionView创建了一个可定制自定义瀑布流,效果还是蛮...CustomTransformCollecionLayout头文件代码如下所示,该文件定义了一个协议,协议方法就是在CollectionView要实现那两个代理方法。...,其中延展属性如下所示。...在实现我们需要重写UICollectionViewLayout相关方法,需要重写方法如下: (1).

1.4K80

iOS 自定义 ViewController 过渡动画

在上面链接视频里说到,一共有下面这四个地方可以用自定义过渡: Presentations and dismissals UITabBarController UINavigationController...UICollectionViewController layout-to-layout transitions 这个例子里,我们只涉及第二种 UITabBarController 另外还有 Interactive...view controller transitions 可交互过渡,例子就是在 NavigationController 详细页面从屏幕左侧滑入以返回时那个动画。...然后在 viewDidLoad 设置 TabBarController delegate ,这里我们设置成为 self TabBarController 代码如下: class MainVC: UITabBarController...() { super.viewDidLoad() self.delegate = self // delegate设置为self } /* 如GIF那样在切换时改变状态栏颜色

1.3K30

(转)iOS开发之UICollectionViewController系列(一) :Ready CollectionViewController

以后几篇博客好好研究一下CollectionView,由浅入深,层层深入,搞透CollectionView这个强大组件。...UIContentContainer 是iOS8之后添加协议,也是和Size Class相关协议。该协议方法可以帮助你适配视图控制器上内容,比如内容尺寸和位置等。...由上面可知UICollectionViewController是iOS6以后推出东西,相对起来还是比较新。 二....你可以创建一个自定义UICollectionViewController子类来管理你集合视图。...你可以重写loadView或者其他超类方法,但是如果你这样做, 你必须确保在你实现方法中使用super调用了超类相应方法。

5.5K40

iOS开发之窥探UICollectionViewController(一) -- Ready Your CollectionViewController

以后几篇博客好好研究一下CollectionView,由浅入深,层层深入,搞透CollectionView这个强大组件。...UIContentContainer 是iOS8之后添加协议,也是和Size Class相关协议。该协议方法可以帮助你适配视图控制器上内容,比如内容尺寸和位置等。...由上面可知UICollectionViewController是iOS6以后推出东西,相对起来还是比较新。 二. UICollectionViewController实现行为 1....你可以创建一个自定义UICollectionViewController子类来管理你集合视图。...你可以重写loadView或者其他超类方法,但是如果你这样做, 你必须确保在你实现方法中使用super调用了超类相应方法。

1.6K60

iOS开发之窥探UICollectionViewController(四) --一款功能强大自定义瀑布流

在上一篇博客《iOS开发之窥探UICollectionViewController(三) --使用UICollectionView自定义瀑布流》,自定义瀑布流列数,Cell外边距,Cell最大以及最小高度是在我们布局文件是写死...在今天这篇博客我们要接着上篇博客Demo,使其自定义布局属性在使用它UICollectionView是可配置。...当然在本篇要介绍Demo只提取了四个布局参数,无论添加一个Delegate,但思路都是一样。我们把上一篇博客写死内容,通过布局代理来提供参数配置,这样就灵活多了。...内容详见《iOS开发之窥探UICollectionViewController(二) --详解CollectionView各种回调》中有关UICollectionViewDelegateFlowLayout...需要在UICollectionView使用控制器实现自定义布局代理方法来设置布局属性,我们这儿定了四个必须实现方法。

78490

iOS 转场动画探究(一)

*** 官方支持以下几种方式自定义转场:          1、我们最常见UINavigationController push 和 pop;          2、也是比较常见在 UITabBarController...4、UICollectionViewController 布局转场:UICollectionViewControllerUINavigationController 结合转场方式; *** 区分...在后面在参考博客我都会把这些博客链接总结发出来。  ...二:转场几个关键点       转场最关键地方就是几个转场协议,我们分开一个一个说这几个转场协议,在说这几个协议过程穿插一些简单转场动画案列,这些例子最后都会上传到git上去。...它最主要作用就是获取到转场上下文,在接下来例子,大家注意下这个方法:       - (void)animateTransition:(id <UIViewControllerContextTransitioning

2.4K50

iOS开发之窥探UICollectionViewController(四) --一款功能强大自定义瀑布流

在上一篇博客《iOS开发之窥探UICollectionViewController(三) --使用UICollectionView自定义瀑布流》,自定义瀑布流列数,Cell外边距,Cell最大以及最小高度是在我们布局文件是写死...在今天这篇博客我们要接着上篇博客Demo,使其自定义布局属性在使用它UICollectionView是可配置。...当然在本篇要介绍Demo只提取了四个布局参数,无论添加一个Delegate,但思路都是一样。我们把上一篇博客写死内容,通过布局代理来提供参数配置,这样就灵活多了。...内容详见《iOS开发之窥探UICollectionViewController(二) --详解CollectionView各种回调》中有关UICollectionViewDelegateFlowLayout...需要在UICollectionView使用控制器实现自定义布局代理方法来设置布局属性,我们这儿定了四个必须实现方法。

64180

(转)iOS开发之UICollectionViewController系列(四) :一款功能强大自定义瀑布流

原文链接:https://www.cnblogs.com/ludashi/p/4831487.html 在上一篇博客《iOS开发之UICollectionViewController系列(三) –...在今天这篇博客我们要接着上篇博客Demo,使其自定义布局属性在使用它UICollectionView是可配置。...内容详见《iOS开发之窥探UICollectionViewController(二) –详解CollectionView各种回调》中有关UICollectionViewDelegateFlowLayout...需要在UICollectionView使用控制器实现自定义布局代理方法来设置布局属性,我们这儿定了四个必须实现方法。...参考文章: iOS开发之窥探UICollectionViewController(三) --使用UICollectionView自定义瀑布流

5.4K50

iOSOC给Category添加属性

引: 很多人知道可以用Category给已有的类添加一些新方法,但是不同于swiftextension,Objective-CCategory(类别)是不支持直接添加属性,那如果就是需要添加新属性怎么办呢...有一个办法,使用Runtime关联对象技术就可以实现。...,在使用时候,只需要import你创建Category,在使用时候还是使用原来类,但是你会惊奇发现他支持你自己在Category添加方法。...在工程按住command+N来添加新文件,选择Objectiv-C File: 在出来界面File Type选择Category,就是创建类别文件了,File填写我们要加在类别尾巴上名字,Class...结 以上就是给Category添加属性方法啦,不难,只要了解Runtime关联对象技术就可以轻松达到了。

1.2K10

iOS学习——获取当前最顶层ViewController

在iOS开发过程,我们经常性会需要获取当前页面的ViewController,然后利用ViewController进行一些操作,例如在最顶层ViewController上展示一个UIAlertController...1 实现思路   通过最底层ViewController依次向上寻找,直到找到最顶层ViewController,也就是从UIApplicationkeyWindowrootViewController...在寻找过程,要分别考虑当前ViewController是UITabBarController和UINavigationController情况,同时还要考虑到当前ViewController是否通过...class]]){ // 根视图为UINavigationController currentVC = [self getCurrentVCFrom:[(UINavigationController...[UIApplication sharedApplication].keyWindow.rootViewController获取到是项目的根视图,结合可能用到UITabBarController或者UINavigationController

6.3K50

大前端开发路由管理之四:iOS篇

2、Controller 页面管理         上文提到,iOS通过Controller(控制器)来管理View绘制逻辑,那么具体是如何实现呢?         ...在iOS,有两类ViewController: 一类用来展示内容,例如UIViewController,UITableViewController 一类用来作为容器,例如UINavigationController...3、多页面栈管理方法         有了上文铺垫,接下来可以更加细致地介绍iOS多页面栈管理方法。正如之前提到,多页面即多个View。...iOS采用容器类ViewController来管理多个ViewController,而每个ViewController又对应着自己View,从而实现统一管理。...一张图概括NavigationController结构 3.2 通用页面切换方式         容器类ViewController通过一个特定结构来实现多层级管理,但并不是所有页面都能确保是在同一个容器

1.8K40

iOS多控制器之UINavigationController&UITableBarController1. 多控制器2. UINavigationController3. UITableBarCont

UINavigationController 2.1 UINavigationController使用步骤 初始化UINavigationController 初始化UINavigationController...时, 可以通过initWithRootViewController:方法传入一个控制器作为根控制器 这个根控制器永远处于栈底(如果栈只有一个对象,那么根控制器也处于栈顶) 设置UIWindowrootViewController...UITabBarButton在UITabBar得位置是均分,UITabBar高度为49。 UITabBar结构⼤大致如下图所示: ?...Paste_Image.png 7.2.3 往UITabBarController添加子控制器 有两种方法UITabBarController添加子控制器 : [tb addChildViewController...:c1]; tb.viewControllers=@[c1,c2,c3,c4]; 注意:展示顺序和添加顺序一致,和导航控制器不同,展现在眼前是导航控制器根视图控制器也就是第一个添加到导航控制器上视图

1.2K40

swift 2.0 与 OC 相比较,标签栏和导航栏书写差别

下面是swift书写时候两个方法,其实这里不是教大家怎么样写这个问题,我是想通过这两个不同语言进行一个比较,向大家找他们之间“想法”上一些相同点,这样子我们学习swift时候,就可以更加游刃有余...我们熟悉OC这门语言,找到他么想法上相同点了,你也就可以利用OC来学习swift了。...(rootViewController: vc)) } 下面是我们熟悉OC写法 HomeViewController * home =[[HomeViewController...alloc]init]; home.title=@"首页"; home.tabBarItem.title=@"首页"; UINavigationController * na...@[na,na1,na2,na3];  通过上面简单对比,希望你能看到他们思想上相同点,有些东西你悟出来比我告诉你更好!!!

86970

iOS开发UINavigation系列四——导航控制器UINavigationController

iOS开发UINavigation系列四——导航控制器UINavigationController 一、引言         在前面的博客,我么你介绍了UINavigationBar,UINavigationItem...和UIToolBar,UINavigationController是将这些控件和UIViewController紧密结合了起来,使用导航,我们应用程序层次会更加分明,对controller管理也更加方便...nullable NSArray *)popToRootViewControllerAnimated:(BOOL)animated; 三、导航控制器常用方法和属性...//iOS7之后,在导航右划会进行pop操作,设置这个enable可以控制设置手势是否失效 @property(nullable, nonatomic, readonly) UIGestureRecognizer... *interactivePopGestureRecognizer; 四、iOS8后导航新特性 //这个方法是为了iOS方法命名统一,在导航,其作用和push一样 - (void)showViewController

1.8K20
领券