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

UINavigationController 导航控制器概念属性方法

(iOS7之后,导航右划会进行pop操作,设置这个的enable可以控制设置手势是否失效) @property(nullable, nonatomic, readonly) UIGestureRecognizer...的时候隐藏底部,如push后隐藏tabbar @property(nonatomic) BOOL hidesBottomBarWhenPushed; (3)获取管理它的导航控制器 @property(...(1)通过一个自定义的导航和工具创建导航控制器 - (instancetype)initWithNavigationBarClass:(nullable Class)navigationBarClass...toolbarClass:(nullable Class)toolbarClass; (2)使用系统默认的导航和工具,创建一个导航控制器同时设置一个根视图控制器 - (instancetype)initWithRootViewController...UIViewController *)viewController animated:(BOOL)animated; 这个方法是为了iOS方法的命名统一,导航,其作用和push一样 - (void)

2.1K60

Cocoa编程中视图控制器视图类详解

其它三个都是通过对应的控制器类来完成工作,而不是直接构建和管理视图。 ...使用pushViewController: animated:可推入一个新的控制器,从而增加新的项到导航栈。(记住:导航控制器添加一个视图进去,这个导航是没有意义的!)...注意:对于导航定制,对定制实际标题的最简单方式使用子视图控制器而不是导航项的title属性: C代码   self.title = @"Hello";   self.title = [[[NSBundle...• navigationItem:导航子项 • editing: 是否处理编辑状态 • hidesBottomBarWhenPushed: 入栈隐藏底部 • toolbarItems: 工具子项集...控制器加载视图过程 当调用视图控制器的view属性视图控制器会先调用loadView方法加载视图,因此,可以loadView方法创建所有的视图,这是比较好的编程惯例。

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

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

/通过一个自定义的导航和工具创建导航控制器 - (instancetype)initWithNavigationBarClass:(nullable Class)navigationBarClass... toolbarClass:(nullable Class)toolbarClass; //使用系统默认的导航和工具,通过一个根视图创建导航控制器 - (instancetype)initWithRootViewController...@property(null_resettable,nonatomic,readonly) UIToolbar *toolbar; //导航的返回手势对象 //iOS7之后,导航右划会进行pop...//这个方法是为了iOS方法的命名统一,导航,其作用和push一样 - (void)showViewController:(UIViewController *)vc sender:(nullable...; //push的时候隐藏底部,如push后隐藏tabbar @property(nonatomic) BOOL hidesBottomBarWhenPushed; //管理它的导航控制器 @property

1.8K20

# iOS导航控制Tips

许久写UI,对UI的很多东西都生疏了,最近使用导航的各种场景做一些总结。 1.导航的显示与隐藏 导航的显示与隐藏,分两种情况: 1.从不显示导航的页面push到显示导航的页面。...2.从显示导航的页面Push到不显示导航的页面。 注意: 1.如果导航不显示,系统的侧滑返回功能无效。...// 不显示动画,导航显示就比较突兀 [self.navigationController setNavigationBarHidden:YES]; // 显示动画,侧滑导航显示就比较顺滑...例如singleTask,在做IM类App,跳转到聊天室的场景,就非常有用,可以保证控制器只有一个聊天室,避免返回层级太深。...原始堆栈数组判断是否存在该类型的控制器,如果存在记录其索引。 复制的数组中将索引及上方所有控制器移除。 把将要push出来的控制器添加到复制的数组

1.7K31

UI篇-UITabBar及其相关其他知识

注意:UITabBarButtonUITabBar得位置是均分的,UITabBar的高度为49。...每个视图控制器都有一个tabBarItem属性,通过它控制视图UITabBarController的tabBar的显示信息。...self.hidesBottomBarWhenPushed = YES; } //如果在push跳转需要隐藏tabBar,需要在最外层的VC跳转之前设置 // block 回调跳转 需要紧紧写在跳转的前后...只需第一层页面向第二层页面跳转的地方设置一次即可,第二层向第三层跳转不需要再次设置,当然,想在第三层页面上显示出 tabbar,设置.hidesBottomBarWhenPushed = NO也是不可能的出效果的...自定义TbarBar 视图切换的动画的关键方法(后续会整理出视图切换的动画实现) - (id )tabBarController

1.9K20

iOS小技能:自定义导航,设置全局导航条外观

前言 开发需求app中使用的导航一个模块的主题基本是一致的,因此可通过自定义导航条来进行统一控制。...//方式二:获取我们自己导航控制器导航条-- 确保系统的其它功能(短信)的导航条与自己的冲突,尤其短信分享这方面要注意 UINavigationBar *navigationBar...iOS6导航背景的出图规格 非retina:320x44 px retina:640x88 px iOS7导航背景的出图规格 retina:640x128...*标题:@property(nonatomic,copy) NSDictionary *titleTextAttributes;// 字典能用到的keyUIStringDrawing.h// 最新版本的...keyUIKit框架的NSAttributedString.h */ // NSDictionary *dict = @{UITextAttributeTextColor

2.3K20

iOS导航使用总结

; 1.全局设置 全局设置一般的都是AppDelegate设置,这样整个app都会生效,相关的代码与效果图如下: //1.设置导航背景颜色 [[UINavigationBar appearance...导航视图层级图 从图中可以看出,导航的底部分割线是一个UIImageView对象,而且高度只有0.5,所以我们可以据此获取到导航的底部分割线对象,一个视图控制器实现此需求,代码如下: #import...,用于优化滑动类视图(继承于UIScrollView的视图)视图控制里的显示: iOS系统的导航UINavigationBar与标签UITabBar默认都是半透明模糊效果,在这种情况下系统会对视图控制器的...我们可以通过一段代码来测试一下效果,默认导航(半透明)的视图控制器里添加如下代码: //UITextView是滑动视图,内容自动向下偏移,不会被导航覆盖 UITextView *leftTextView...,默认值是UIRectEdgeAll,即:当前视图控制器里各种UI控件会忽略导航和标签的存在,布局若设置其原点设置为(0,0),视图会延伸显示到导航的下面被覆盖。

3.1K20

Swift-MVVM 简单演练(一)

出下一个控制器的时候,导航右侧会有一段白色的样式出现 原因是:系统默认的导航的透明度太高,自定义设置一个颜色就好了 HQBaseViewController.swift // 设置`navigationBar...到目前为止,虽然我们只是基类控制器里面创建了访客视图setupVistorView,只有一个访客视图的HQVistorView,但是实际上当我们点击不同的子控制器的时候,每个子控制器都会创建一个访客视图...总结 使用代理传递消息是为了控制器视图之间解耦,让视图能够被多个控制器复用,如TableView 但是,如果视图仅仅是为了封装代码,而从控制器剥离出来的,并且能够确认该视图不会被其它控制器引用,...则可以直接通过addTarget的方式为该视图中的按钮添加监听方法 这样做的代价是耦合度高,控制器视图绑定在一起,但是省略部分冗余代码 ---- 调整未登录导航按钮 如果单纯的setupVistorView...而在未登录状态下,导航上面的按钮都是显示注册和登录。

10.2K51

iOS 9 Storyboard 教程(二上)介绍Segue静态单元格(static cell)

介绍Segue 时候storyboard添加更多的控制器了.你激昂会创建一个控制器,它允许用户向这个app添加玩家....打开Main.storyboard,然后右侧的导航里拖拽一个BarButtonItem到tableView里的Players上.Attributes inspector改变identifier和在...首先,打开Main.storyboard,选择这个新创建的TableViewController .改变它的标题为Add Player(双击导航即可修改).然后导航的两侧各添加一个Bar Button...,而用静态单元格是可以的.每一个静态单元格都只有一个实例,所以它完全是可以接受的视图控制器里通过连线连接它们的子视图....对象,在运行时期间将不会起作用,原因是因为UITableViewController提供了一个负责静态单元格数据源的额外机制.Xcode为了防止你编译这个工程,甚至会输出错误信息:”(非法的配置:静态表视图嵌入

3.2K10

iOS 9人机界面指南(四):UI元素(上) - 腾讯ISUX

以下有一些方法可以让滚动的内容能正常显示状态 后面: 使用导航控制器(navigation controller)来展示内容。导航控制器自动展示状态背景,同时能确保内容视图不会出现在状态后面。...可以填充颜色(使用tintColor来定义导航的图标与文字颜色;使用 barTintColor来填充导航背景色) API注释 导航包含于导航控制器(一个管理显示自定义视图层级结构的程序对象)。...可以工具里放置分段控件以方便用户快速切换当前内容的不同视图或模式。工具中提供应用全局的任务或者模式分段控件是恰当的,因为工具的所有操作都应当是针对当前屏幕和视图的。...请注意,当搜索的视图控制器包含在导航控制器里面的时候——比如在邮件应用(Mail)那样,当用户激活搜索,搜索会自动上浮,平铺到原来导航的位置上。...确保控制器的操作适用于当前场景。你可以适当地活动视图控制器增减系统操作,或增加自定义操作。例如,如果你希望用户打印某张图片,你可以把打印功能从控制器删除。

10.1K51

iOS头部渐变的表格视图设计 原

iOS头部渐变的表格视图设计         今天再来给大家带来一个开发中常用到的视图控制器很多应用,可能都会遇到这样的一个需求:表视图控制器最上方有一个头图控件,当表格视图滑动顶部导航透明...,当表格视图逐渐向下滑动导航渐渐出现,并且滑动期间,头图会展示相关的渐变动画效果。...All rights reserved. /*  *  这个视图控制器创建出带缩放头图效果的视图控制器  *  tip:  *      1.这个视图控制器如果是被导航push出来的 则内部会使用假导航进行渐隐模拟... *      2.这个视图控制器如果是被present出来的 则不会出现假导航  *      3.这个视图控制器自带一个TableView 设置TableView的头图不会影响原动画效果  *...的tableheaderView属性 也需要调用这个方法刷新  *  */ -(void)reloadAnimatedView; @end       设计这个控件,我主要考虑两个需要优化的地方,第一是这个控制器不同的场景下可能会有不同的结构

1.2K20

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

1,initWithRootViewController:创建导航控制器,直接指定一个根控制器。...Paste_Image.png 2.5 修改导航的内容 导航的内容由栈顶控制器的navigationItem属性决定 UINavigationItem有以下属性影响着导航的内容 //左上角的返回按钮...保存子控制起的形式:栈 获取UINavigationController下面的所有的子控制器:viewControllers / childViewControllers 导航按钮使用原始图片不进行系统渲染...UITabBarButtonUITabBar得位置是均分的,UITabBar的高度为49。 UITabBar的结构⼤大致如下图所示: ?...:c1]; tb.viewControllers=@[c1,c2,c3,c4]; 注意:展示的顺序和添加的顺序一致,和导航控制器不同,展现在眼前的是导航控制器的根视图控制器也就是第一个添加到导航控制器上的视图

1.2K40

iOS好用的第三方侧边控件——MMDrawerController

MMOpenDrawerGestureModePanningNavigationBar = 1 << 1, //中心视图控制器视图上拖动可以打开侧边 MMOpenDrawerGestureModePanningCenterView...= 1 << 2, //中心视图控制器视图边缘20个单位内拖动可以打开侧边 MMOpenDrawerGestureModeBezelPanningCenterView...MMCloseDrawerGestureMode) { //没有关闭手势 MMCloseDrawerGestureModeNone = 0, //导航上拖动可以关闭侧边...= 1 << 3, //点击导航可以关闭侧边 MMCloseDrawerGestureModeTapNavigationBar = 1 << 4, //点击中心视图控制器视图可以关闭侧边...前面有提到,侧边的展现动画开发者可以进行自定义,为了使开发者使用MMDrawerController更加方便,MMDrawerController框架还提供了一个动画辅助类MMDrawerVisualState

2.8K20

iOS状态使用总结

分页控制:视图控制器里通过prefersStatusBarHidden方法设置。...代码的位置很重要;AppDelegate写入可以设置整个App页面的状态样式; 如果需要单独设置其中一个页面隐藏状态,需要在进入页面设置隐藏,退出页面设置显示,以保证不影响其他页面的状态样式...此时全局设置的操作都是无效的,需要分页设置才能修改其样式,即:每个视图控制器或者控制器基类中使用如下代码: - (UIStatusBarStyle)preferredStatusBarStyle {...//return NO; //设置状态显示 } 但是,这里存在一个问题:如果当前视图控制器是UINavigationController的子视图控制器,preferredStatusBarStyle...preferredStatusBarStyle]; } 方法2:放弃preferredStatusBarStyle 我们可以不使用preferredStatusBarStyle方法,而且直接在当前视图控制器调用如下方法修改状态

1.9K30

UINavigationController

:(BOOL)animated; //回到根控制器(栈底控制器) - (NSArray *)popToRootViewControllerAnimated:(BOOL)animated; 如何修改导航的内容...导航的内容由栈顶控制器的navigationItem属性决定 UINavigationItem有以下属性影响着导航的内容 //左上角的返回按钮 @property(nonatomic,retain...iOS7之后导航条上德图片默认会渲染成蓝色 代码改变图片原始颜色 获得导航上图片 self.navicationItem.rightBarButtonItem.image; image];...) 新建并且设置Segue对象的destinationViewController(目标控制器) 页面跳转前的操作 调用sourceViewController的下面方法,做一些跳转前的准备工作并且传入创建好的...View显示界面上,一定要把这个控制器强引用 //1.

1.4K60

【iOS开发-22】navigationBar导航,navigationItem建立:获取导航的基本文本和button以及各种跳跃

大家好,又见面了,我是全栈君 (1)navigationBar导航可以被看作是self.navigationController一个属性导航控制器,它可以由点直接表示self.navigationController.navigationBar...须要创建两个视图控制器(ViewController根视图控制器,SecondViewController子视图控制器),然后放在导航控制器。...隐藏导航条,由此点击进入其它视图导航条也会被隐藏。...PUSH或者POP一个视图控制器,这样最上面的视图控制器就变了,这样视图也跟着变了,由于仅仅显示栈顶得那个视图控制器视图 //所以(1)控制所谓的跳转。...事实上是导航控制器控制,在里面的元素都能够通过navigationController属性获取到它们所在的导航控制器 //所以(2)获取到导航控制器之后,使用Push的那个方法,往栈里面放一个视图控制器

2.2K10

iOS开发中标签控制器的使用——UITabBarController

iOS开发中标签控制器的使用——UITabBarController 一、引言         与导航控制器相类似,标签控制器也是用于管理视图控制器的一个UI控件,在其内部封装了一个标签,与导航不同的是...,导航的管理方式是纵向的,采用push与pop切换控制器,标签的管理是横向的,通过标签的切换来改变控制器,一般我们习惯将tabBar作为应用程序的根视图控制器,在其中添加导航导航在对ViewController...通过点击下面的标签按钮,可以很方便的切换控制器。如果我们的控制器数超过4个,系统会被我们创建一个more的导航,并且可以通过系统自带的编辑来调整控制器的顺序,如下: ? ?...获取"更多"标签的导航控制器 @property(nonatomic, readonly) UINavigationController *moreNavigationController;  //这个属性设置的是可以进行自定义排列顺序的视图控制器...@property(nullable, nonatomic,strong) UIColor *barTintColor; 设置背景图案: //设置导航背景图案 @property(nullable,

1.5K20

VCTransitionsLibrary –自定义iOS交互式转场动画的库

交互控制器 – 这个类是用来管理交互的-那些通常由某个手势空控制的交互,允许用户通过滑动,轻扫或执行其他操作来实现两个视图控制器导航.必须指出的是,交互控制器允许导航取消,例如,一个用户可以正在导航至某一页面...协议被用来模态控制器显示/隐藏提供一个动画控制器.当一个视图控制器被模态显示或隐藏,它的transitioningDelegate属性用来提供UIViewControllerTransitioningDelegate...交互控制器和动画控制器配合使用,可以实现交互式的动画转场效果,比如可以让用户通过手势来控制页面间的导航.交互控制器允许用户一个转场动画中前进,后退,甚至退出....交互控制器负责给视图添加手势,并负责在用户使用某个手势进行相应地导航操作...._interactionController : nil; } 用于标签控制器切换的交互 UITabBarControllerDelegate 协议也为交互式转场提供了支持.但是由于代理方法首次初始化时不被执行

1.5K60

Swift开发:自定义标签UITabBarController (Swift项目开始的第一步)

第二步:准备资源文件 1.Assets.xcassets存放标签按钮所需要的图片资源 ?...屏幕快照 2017-07-15 下午1.52.29.png 2.创建标签配置Plist文件,并且Plist文件设置视图控制器的类名、Title、标签图片等信息 ?...第三步:创建视图控制器 自定义导航控制器视图控制器的父类,并且创建三个继承于BaseViewController的视图控制器(因为没有过多复杂操作,这里省略代码),为之后创建标签控制器做准备。...} //初始化导航控制器数组 var nvcArray = [BaseNavigationViewController]() //Swift, 通过字符串创建一个类...项目前期我们以自定义的方式来创建标签,这也是为了后期应对更加复杂的需求做伏笔,比如增加新的控制器我们只需要修改plist配置文件的属性创建相应的视图控制器就可以,这样就避免了修改大量代码。

3.9K70
领券