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

当与导航视图控制器一起使用时,popoverPresentationController为nil

表示当前视图控制器不是以弹出窗口的形式展示。

PopoverPresentationController是UIKit框架中的一个类,用于管理弹出窗口的展示和交互。当一个视图控制器以弹出窗口的形式展示时,可以通过popoverPresentationController属性来获取和配置弹出窗口的相关信息。

在使用导航视图控制器时,通常会通过present(_:animated:completion:)方法来展示下一个视图控制器。如果popoverPresentationController为nil,意味着当前视图控制器并不是以弹出窗口的形式展示,而是以其他方式展示,比如全屏展示或者作为导航栈中的一个视图控制器。

在这种情况下,可以考虑使用其他方式来展示内容,比如使用push方式将下一个视图控制器压入导航栈中,或者使用模态展示方式来呈现下一个视图控制器。

关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,无法给出具体的产品链接。但腾讯云作为一家知名的云计算服务提供商,提供了丰富的云计算产品和解决方案,可以通过腾讯云官方网站或者相关文档来了解他们的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS中UIPopoverController使用详解

iOS中UIPopoverController使用详解 一、引言         UIPopoverController是Pad设备中常用的一种视图控制器,其在UI表现上在当前视图控制器上面弹出一个子视图控制器...:(UIViewController *)viewController; 创建出控制器后,调用如下方法可以将控制器弹出: //这个方法将控制器以一个CGRect区域基准弹出 /* UIPopoverArrowDirection...(nonatomic, readonly) UIPopoverArrowDirection popoverArrowDirection; //这个属性可以增强控制器的交互能力 /* 默认情况下,视图控制器弹出时...,点击界面上的其他位置,视图控制器会被隐藏 如果需要视图控制爱弹出时界面上的其他控件依然可以进行用户交互,则需要将这些UI控件设置进这个数组中 */ @property (nullable, nonatomic...,其可以很好的兼容iPhoneiPad。

1.7K20

使iPhone也可以拥有iPad的pop效果

iOS 8 之后新增了 UIPresentationController 控制器,用于所有的界面转场。在以前,popViewController只适用于iPad。...这个控制器的用法我还在摸索中,今天先上一段代码,做到在iPhone像iPad中的pop弹出视图效果。 UIPopoverPresentationController不需要你去创建。...view.modalPresentationStyle = UIModalPresentationPopover;//如果没有这句,pop不会被初始化 UIPopoverPresentationController *pop = view.popoverPresentationController...UIPopoverArrowDirectionAny;//弹出的方向 pop.barButtonItem = self.navigationItem.rightBarButtonItem;//导航栏右侧的按钮...[self presentViewController:view animated:YES completion:nil];//present即可 } #pragma mark -- UIPopoverPresentationControllerDelegate

81540
  • 【IOS开发基础系列】UIAlertController专题

    全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸变化效果(比如说旋转)中发挥了重要的作用,它有效地节省了程序员们的工作量(天地良心啊)。...您向对话框控制器中添加文本框时,您需要指定一个用来配置文本框的代码块。         ...alertTextFieldDidChange:"), name: UITextFieldTextDidChangeNotification, object: textField) }         视图控制器释放的时候我们需要移除这个...Observer,我们通过在每个按钮动作的handler代码块(还有其他任何可能释放视图控制器的地方)中添加合适的代码来实现它。...释放对话框控制器         通常情况下,当用户选中一个动作后对话框控制器将会自行释放。不过您仍然可以在需要的时候以编程方式释放它,就像释放其他视图控制器一样。

    52030

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

    iOS头部渐变的表格视图设计         今天再来给大家带来一个开发中常用到的视图控制器,在很多应用中,可能都会遇到这样的一个需求:表视图控制器最上方有一个头图控件,表格视图滑动在顶部时,导航栏透明...,表格视图逐渐向下滑动时,导航栏渐渐出现,并且在滑动期间,头图会展示相关的渐变动画效果。...All rights reserved. /*  *  这个视图控制器创建出带缩放头图效果的视图控制器  *  tip:  *      1.这个视图控制器如果是被导航push出来的 则内部会使用假导航进行渐隐模拟... *      2.这个视图控制器如果是被present出来的 则不会出现假导航栏  *      3.这个视图控制器中自带一个TableView 设置TableView的头图不会影响原动画效果  *...,例如在导航结构中被push出来或者通过模态跳转被present出来,我在这个控件的实现时做了兼容,实际上无论有无导航,控件内部都没有使用系统的导航栏,而是模拟实现了一个自定义的导航栏来系统的导航无缝衔接

    1.2K20

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

    通过调用initWithRootViewController:方法可以将特定控制器设置根。...或其他任何类型的视图控制器),并通过设置栏的viewControllers属性将其添加到选项卡栏,使每个选项卡对应一个试图控制器。...• –viewDidLoad:加载控制器视图到内存时,该方法被调用。...控制器加载视图过程 调用视图控制器的view属性时,视图控制器会先调用loadView方法加载视图,因此,可以在loadView方法中创建所有的视图,这是比较好的编程惯例。...事件处理 如图所示,一般情况下,一个视图不响应用户事件时,它会将事件传递给它的父视图。但是,视图视图控制器管理时,它会将事件首先传递给视图控制器

    5K50

    【IOS开发基础系列】Navigation页面导航专题

    VC 视图View控制器都需要移除,缺一不可 - (void) closeView: (id)sender {     [self.navigationController.view removeFromSuperview...://www.cnblogs.com/PleaseInputEnglish/p/3498032.html 2.5.2 导航条设置半透明         将NavigationBar设置透明(仅将指定视图控制器进行透明处理...{        //进入其他视图控制器        self.navigationController.navigationBar.alpha = 1;        //背景颜色设置系统默认颜色...initWithImage: img style:UIBarButtonItemStylePlain target: self action: @selector(shareTo)]; 2.5.7 TabBar导航条混用时...否则会导致页面切换时选中状态不准确         TabBar导航条混用时,TabBarItem的设置是在NavigationController中,而不是内容Controller中,切记!!!

    42420

    Xcode:处理故事板的更好方式 享受Interface Builder的提示和技巧

    ) 确保您的故事板文件实际类名称相同。...否则,您尝试创建对此故事板的引用时,应用程序将崩溃。...您想要按下按钮导航到下一个viewController时,只需为此按钮添加一个IBAction,并在代码中初始化此viewController:您采用建议#3时,它实际上是一行代码。...这听起来很简单,但在实践中它需要一些额外的步骤,只会让开发人员感到困惑: 通常,按钮创建动作插座时,Interface Builder将为您创建代码。...通常,按钮创建动作插座时,它会将代码放在拥有该按钮的同一个类中。对于Unwind Segues,您需要在目标视图控制器中编写代码。

    1.4K30

    在Swift中使用工厂进行依赖注入

    涉及到使代码更加可测试时,依赖注入是一个重要工具。与其让对象创建自己的依赖关系或作为单例访问它们,不如让对象在工作中需要的一切都从外部传入。...然而,我们的列表视图很可能不是只有一层,这在某种程度上需要我们实现导航到另一个视图控制器。 假设我们想让用户在点击消息列表中的某个单元格时,能够导航到一个新的视图。...为了启用回复功能,我们实现了一个MessageSender类,在创建新的视图控制器时,我们将其注入到新的视图控制器中,像这样: override func tableView(_ tableView:...我们还将创建额外的工厂协议来创建我们的视图控制器的依赖关系,比如这个,让我们我们的列表视图控制器创建一个MessageLoader: protocol MessageLoaderFactory {...最后,我们将使我们的新依赖容器遵守我们的工厂协议,这将使我们能够把它作为工厂注入到我们的各种视图控制器和其他对象。

    82820

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

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

    1.6K60

    iOS:分割控制器UISplitViewcontroller

    分割控制器UISplitViewController 功能:它也是ipad的一个新特性,在屏幕上可以同时显示两个控制器,左边一个,右边一个;左边的为主控制器,右边的详细控制器,主控制器可以根据需要显示或隐藏...它对于iPhone虽然可以使用,但是不具备同时显示的特点,在iPhone的样式,就是导航控制器切换的模式。...,一个详细控制器类DetailViewController 2、导入几张素材图片,用来在详细控制器中显示。...Master的导航栏和按钮,并设置表格视图的数据源和代理 - (void)viewDidLoad { [super viewDidLoad]; //创建UITableView...- (void)viewDidLoad { [super viewDidLoad]; //设置视图颜色白色 [self.view setBackgroundColor:[UIColor

    1.9K30

    跟着官方文档学习3D Touch

    另一类是在app内,稍用力按压某个视图,可以预览除去该视图额外的内容,再稍加用力按压屏幕,可以弹出另一个控制器界面,这个控制器界面就是点击这个被按压的视图将会跳转的控制器。...*作用:返回一个配置好的以供预览的视图控制器。 *需要的操作:把源视图坐标系上的点转换为当前控制器视图上的点。 *返回一个控制器。...,内存中是同一个对象 *调用时间:pop阶段调用这个方法 *作用:配置并且present一个commit(pop)视图控制器。...详细说明: iOS界面环境发生变化时,系统会调用这个代理方法。根据app实际需要,可以在视图控制器或者视图中实现这个代理方法,以响应一些改变。...比如:iPhone从竖屏旋转到横屏时,你也许需要调整控制器的子视图的布局,我们可以在这个方法中进行操作。默认这个方法的实现是空实现,这也就说明,我们需要重写这个代理方法的实现。

    6.4K50

    玩转iOS转场动画 原

    本篇博客主要深入讨论视图控制器导航控制器来进行界面跳转时的专场动画相关内容。...要弹出的Controller presenting当前的Controller source源Contrller 对于present动作 presentingsource是一样的 */ - (nullable...我们在使用系统的导航控制器时,右划返回效果对用户体验十分友好,我们下面就来试着将视图控制器的模态跳转设计成类似导航可交互的。    ...三、导航转场动画的自定义     导航转场动画的原理模态跳转转场动画的原理基本是一致的,不同的我们需要设置UINavigationController实例的delegate遵守UINavigationControllerDelegate...之后实现如下两个函数: //设置转场的动画不论是push或pop 返回nil 则使用系统默认的导航转场动画 - (nullable id <UIViewControllerAnimatedTransitioning

    1.3K51

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

    iOS开发中标签控制器的使用——UITabBarController 一、引言         导航控制器相类似,标签控制器也是用于管理视图控制器的一个UI控件,在其内部封装了一个标签栏,导航不同的是...,导航的管理方式是纵向的,采用pushpop切换控制器,标签的管理是横向的,通过标签的切换来改变控制器,一般我们习惯将tabBar作为应用程序的根视图控制器,在其中添加导航导航中在对ViewController...通过点击下面的标签按钮,可以很方便的切换控制器。如果我们的控制器数超过4个,系统会被我们创建一个more的导航,并且可以通过系统自带的编辑来调整控制器的顺序,如下: ? ?...  //这个属性设置的是可以进行自定义排列顺序的视图控制器,如上面第二张图中的,默认是全部 @property(nullable, nonatomic, copy) NSArray<__kindof UIViewController...item宽度 @property(nonatomic) CGFloat itemWidth; //设置item间距 @property(nonatomic) CGFloat itemSpacing; 导航栏类似

    1.6K20

    iOS导航栏使用总结

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

    3.2K20

    【IOS开发基础系列】UISearch专题

    bar = [[UISearchBar alloc] initWithFrame: CGRectMake(0, 50, self.view.frame.size.width, 80)];  //添加到控制器视图上... nil];     } return _dataArr; } //如果检索后的数据空,将原有数据赋值给检索数据 - (NSArray*) arr { if(!...     searchVC.searchResultsUpdater = self; //协议(UISearchResultsUpdating)     //将搜索控制器的搜索条设置页眉视图 self.tableView.tableHeaderView...(搜索内容空时,返回的时所有数据,如果搜索内容空,返回空时,需要进行其它修改操作.) 4 开发技巧 4.1 兼容IOS7、8并结合自定义导航条使用 4.1.1 核心思路         虽然UISearchController...使用时注意:在searchBarTextDidBeginEditing事件中必须将当前子视图上移44px(即移到导航条中),以便达到让用户觉得UISearchController界面中的Search bar

    49920

    IOS开发系列——UIView专题之二:动画篇【整理,部分原创】

    self.blueController =[[BlueViewController alloc] initWithNibName:nil bundle:nil]; //设置导航控制器view的大小占整个屏幕...)]; //将2个控制器view插入到目前导航控制器视图上,yellowController后插入,显示在最前面 [self.viewinsertSubview:self.blueController.view...atIndex:0]; [self.viewinsertSubview:self.yellowController.view atIndex:1]; //创建导航控制器右按钮,按钮名字叫next...但是须知:CATransition只针对图层,不针对视图。图层是Core Animation每个UIView产生联系的工作层面。...讨论 如果设置YES那么动画在运行过程中,当前视图的位置将会作为新的动画的开始状态。如果设置NO,当前动画结束前新动画将使用视图最後状态的位置作为开始状态。

    1.4K10

    Swift-MVVM 简单演练(一)

    childViewControllers.count == 1的时候,就设置返回按钮文字控制器的title override func pushViewController(_ viewController...tabBar的后面,底部位置也有问题 解决 TableView 的位置问题 主要在HQBaseViewController里,重新设置tableView的ContentInsets /* 取消自动缩进,导航栏遇到...到目前为止,虽然我们只是在基类控制器里面创建了访客视图setupVistorView,只有一个访客视图的HQVistorView,但是实际上当我们点击不同的子控制器的时候,每个子控制器都会创建一个访客视图...总结 使用代理传递消息是为了在控制器视图之间解耦,让视图能够被多个控制器复用,如TableView 但是,如果视图仅仅是为了封装代码,而从控制器中剥离出来的,并且能够确认该视图不会被其它控制器引用,...则可以直接通过addTarget的方式视图中的按钮添加监听方法 这样做的代价是耦合度高,控制器视图绑定在一起,但是省略部分冗余代码 ---- 调整未登录时导航按钮 如果单纯的在setupVistorView

    10.3K51
    领券