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

在UINavigationController中使用时,UISearchController / UINavigationBar会显示损坏的动画

在UINavigationController中使用UISearchController时,可能会出现UINavigationBar显示损坏的动画的问题。这个问题可能是由于UISearchController与UINavigationController的交互导致的。

为了解决这个问题,可以尝试以下方法:

  1. 确保在设置UISearchController时,将其设置为UINavigationItem的searchController属性,而不是将其设置为UINavigationBar的searchController属性。这样可以确保UISearchController与UINavigationBar的动画效果正常。
  2. 在设置UISearchController时,可以尝试将其hidesNavigationBarDuringPresentation属性设置为false。这样可以防止UINavigationBar在动画过程中显示异常。
  3. 如果以上方法无效,可以尝试通过自定义动画来解决问题。可以通过监听UISearchController的isActive属性的变化,并在变化时手动控制UINavigationBar的动画效果。

总结起来,解决在UINavigationController中使用UISearchController时UINavigationBar显示损坏的动画问题的方法有:

  1. 将UISearchController设置为UINavigationItem的searchController属性。
  2. 将UISearchController的hidesNavigationBarDuringPresentation属性设置为false。
  3. 自定义动画来控制UINavigationBar的显示效果。

腾讯云相关产品推荐:

  • 云服务器(CVM):提供弹性计算能力,满足各种业务需求。详情请参考:云服务器产品介绍
  • 云数据库 MySQL 版(CDB):提供稳定可靠的云端数据库服务。详情请参考:云数据库 MySQL 版产品介绍
  • 云存储(COS):提供安全可靠的对象存储服务,适用于各种场景。详情请参考:云存储产品介绍
  • 人工智能平台(AI Lab):提供丰富的人工智能算法和服务,助力开发者构建智能应用。详情请参考:人工智能平台产品介绍
  • 物联网开发平台(IoT Explorer):提供全面的物联网解决方案,帮助用户快速搭建物联网应用。详情请参考:物联网开发平台产品介绍
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

你可能需要为你 APP 适配 iOS11

前言 前几天发现在做APPiOS11系统上动画有异常,在其他系统设备上都是正常动画操作是观察tableViewcontentOffset变化后执行,异常动画发生在tableView reloadData...对tool bar 和 navigation bar同理,长按item也放大显示。...值变化,如果是有动画是观察这两个属性变化进行,就会造成动画异常,因为估算行高机制下,contentSize值是一点点地变化更新,所有cell显示完后才是最终contentSize值。...● UITableviewCell 和 UITableViewHeaderFooterView content view 安全区域内;因此你应该始终 content view 中使用add-subviews...滑动操作这里还有一个需要注意是,当cell高度较小时,显示image,不显示title,当cell高度够大时,会同时显示image和title。

2.4K00

你可能需要为你 APP 适配 iOS 11

对tool bar 和 navigation bar同理,长按item也放大显示。如下图显示: ?...;iOS 11 新增属性 UINavigationController和滚动交互 滚动时候,以下交互操作都是由UINavigationController负责调动UIsearchController...,就会造成动画异常,因为估算行高机制下,contentSize值是一点点地变化更新,所有cell显示完后才是最终contentSize值。...UITableviewCell 和 UITableViewHeaderFooterView content view 安全区域内;因此你应该始终 content view 中使用add-subviews...这个类只能定义按钮显示文字、背景色、和按钮事件。并且返回数组第一个元素UITableViewCell最右侧显示,最后一个元素最左侧显示

1.6K60

你可能需要为你APP适配iOS11

前言 前几天发现在做APPiOS11系统上动画有异常,在其他系统设备上都是正常动画操作是观察tableViewcontentOffset变化后执行,异常动画发生在tableView reloadData...对tool bar 和 navigation bar同理,长按item也放大显示。...值变化,如果是有动画是观察这两个属性变化进行,就会造成动画异常,因为估算行高机制下,contentSize值是一点点地变化更新,所有cell显示完后才是最终contentSize值。...● UITableviewCell 和 UITableViewHeaderFooterView content view 安全区域内;因此你应该始终 content view 中使用add-subviews...滑动操作这里还有一个需要注意是,当cell高度较小时,显示image,不显示title,当cell高度够大时,会同时显示image和title。

80820

iOS透明导航栏平滑过渡(进阶版)引实现过程结

引 如我传送门:iOS导航栏切换界面时隐藏和显示中所说,现在很多App个人中心模块都是不保留导航栏直接使导航栏透明,比如做很好QQ个人信息界面: 为什么说QQ做很好呢?...而很多App做法其实比较粗糙,类似于我传送门:iOS导航栏切换界面时隐藏和显示做法,需要导航栏透明时,直接将导航栏隐藏起来。...,标题、返回按钮啥都方便加,这也就是说不隐藏导航栏,而是要单独让导航栏背景透明; 2、导航栏透明与否界面间切换时透明度有渐变效果; 3、UINavigationController体系和UITabarController...,我们可以 UINavigationController Delegate 中添加一个处理,监控松手后时自动完成返回还是取消返回操作,同时使用 UIView 动画(关于 UIView 动画可以看我这篇文章...:传送门:iOS基础动画教程),自动操作那个时间内将透明度变为对应界面的导航栏透明度,让其变化不那么跳跃: #pragma mark - UINavigationController Delegate

2.9K40

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

iOS开发UINavigation系列四——导航控制器UINavigationController 一、引言         在前面的博客中,我么你介绍了UINavigationBar,UINavigationItem...和UIToolBar,UINavigationController是将这些控件和UIViewController紧密结合了起来,使用导航,我们应用程序层次更加分明,对controller管理也更加方便...,topViewController是返回被push出最后一个controller,但是如果之后又有present进行莫泰跳转,visibleViewController返回当前显示controller...//iOS7之后,导航中右划进行pop操作,设置这个enable可以控制设置手势是否失效 @property(nullable, nonatomic, readonly) UIGestureRecognizer...) BOOL hidesBarsWhenKeyboardAppears; //屏幕滑动时候隐藏导航栏,常用于tableView,上滑隐藏导航栏,下滑显示,带动画效果 @property (nonatomic

1.8K20

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

只是其中管理对象是controller,通过push与pop进行controller切换,UINavigationController是将这些控件(UINavigationBar,UINavigationItem...@property(nullable, nonatomic,readonly,strong) UIViewController *topViewController; 2、获取当前界面显示controller...(iOS7之后,导航中右划进行pop操作,设置这个enable可以控制设置手势是否失效) @property(nullable, nonatomic, readonly) UIGestureRecognizer...*barHideOnSwipeGestureRecognizer; 10、屏幕滑动时候是否隐藏导航栏,常用于tableView,上滑隐藏导航栏,下滑显示,带动画效果 @property (nonatomic...:(UINavigationController *)navigationController; (5)下面两个方法可以设置导航转场动画 - (nullable id <UIViewControllerInteractiveTransitioning

2.1K60

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

对于父级VC与子级VC分别有navigationController情况,即不是使用push方式加载子VC,而是通过AddChildViewController方式添加场景,则父级导航条覆盖子级导航条上面...    方法一:(自定义视图方法,一般人也采用这样方式)         就是导航向上添加一个titleView,可以使用一个label,再设置label背景颜色透明,字体什么设置就很简单了...NSTextAlignmentCenter; titleLabel.text = @"新闻"; self.navigationItem.titleView = titleLabel;     方法二:(默认显示标题中直接修改文件大小和颜色也是可以...否则会导致页面切换时选中状态不准确         TabBar与导航条混用时,TabBarItem设置是NavigationController中,而不是内容Controller中,切记!!!...2.5.8 Tabbar显示与隐藏 Tabbar隐藏函数,其实只Nav Push之前调用时起作用 //隐藏Tabbar [viewController setHidesBottomBarWhenPushed

33020

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

导航栏左上角back按钮是附着UINavigationControllerUINavigationBar里自带一个返回按钮,导航栏自带back按钮图层结构如下图所示。...有效,所以一旦你某个界面禁用了侧滑,那么该UINavigationController控制下所有viewController都会禁用侧滑,这显然是不合理。...因为侧滑返回手势事实上是由存在已久UIPanGestureRecognizer来识别并响应,它直接与UINavigationControllerview进行绑定,因此包含UIScrollView...他们都属于UINavigationItem组成部分,都显示navigationBar上,都属于UIBarButtonItem类,所以我给他们取名为导航条上按钮三兄弟,哈哈哈。。。   ...,如果你上一级设置backBarButtonItem标题过长(没有设置则默认是上一级标题),那么系统可能自动用“Back/返回”来代替返回按钮中标题。

6.4K60

# iOS导航栏控制Tips

// 不显示动画,导航栏显示就比较突兀 [self.navigationController setNavigationBarHidden:YES]; // 显示动画侧滑时,导航栏显示就比较顺滑...UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) { // 这里延时执行是因为UIAlertController阻塞UI,可能导致动画不流畅...UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { // 这里延时执行是因为UIAlertController阻塞UI,可能导致动画不流畅...原始堆栈数组中判断是否存在该类型控制器,如果存在记录其索引。 复制数组中将索引及上方所有控制器移除。 把将要push出来控制器添加到复制数组中。...将新控制器数组设置为导航控制器栈数组,根据参数判断是否要显示动画。 我这边做了一些发散,因为一些类可能会有很多子类,那么想要保证父类以及子类实例都只有一个,所以将方法做了改进。

1.7K31

iOS系统中导航栏转场解决方案与最佳实践

在这张图里,我们可以将 UINavigationController 看做是 C,UINavigationBar 看做是 V,而 UIViewController 和 UINavigationItem...UINavigationController 通过驱动 Stack 中 UIViewController 变化来实现 View 层级变化,也就是 UINavigationBar 改变。...很多时候,国内开发者会将 UINavigationBarUINavigationController 混在一起叫导航栏,这样做法不仅增加了开发者之间沟通成本,也容易导致误解。...值得注意地方有两点: 第一个是 UINavigationController 作为 UINavigationBar 代理,没有特殊需求情况下,不应该修改其代理方法,这里是通过符号断点获取它们调用顺序...转场动画与导航栏隐藏动画一致性 如果在转场过程中还会显示或者隐藏导航栏的话,请保证两个方法动画参数一致。

2.3K30

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

UIView是iPhone屏幕上很多控件基础类。每个iPhone用户界面都是由显示UIWindow(这其实也是个特殊UIView)内众多UIView及其专门化子类构建。...UITableViewCell类表格单元项) UIPickerView 各种栏样式: UINavigationBar (对于导航栏有一个UINavigationItem类导航项) UITabBar...UIViewController实例负责设置视图外观和它显示子视图。 UINavigationController类 1. 导航控制器使用内置动画在视图之间切换; 2....发送presentModalViewController: animated:消息后,一个新视图控制器(其实是个ModalViewController)滑动到屏幕并掌握控制权,直到使用dismissModalViewControllerAnimated...控制器加载视图过程 当调用视图控制器view属性时,视图控制器先调用loadView方法加载视图,因此,可以loadView方法中创建所有的视图,这是比较好编程惯例。

5K50

iOS开发UINavigation系列一——导航栏UINavigtionBar

iOS开发UINavigation系列一——导航栏UINavigtionBar 一、导航栏使用         iOS开发中,我们通常会使用导航控制器,导航控制器中封装了一个UINavigationBar...,实际上,我们也可以不使用导航控制器前提下,单独使用导航栏,UINavigationBar中,也有许多我们可以定制属性,用起来十分方便。...NSDictionary *titleTextAttributes; 标题字体属性影响到导航栏中间标题,如下:    bar.titleTextAttributes =...与pop操作         UINavigationBar上面不只是简单显示标题,它也将标题进行了堆栈管理,每一个标题抽象为对象iOS系统中是UINavigationItem对象,我们可以通过...//向栈中添加一个item,上一个item会被推向导航栏左侧,变为pop按钮,会有一个动画效果 - (void)pushNavigationItem:(UINavigationItem *)item

95631

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

,UITabBarController         其中,容器类ViewController是这篇文章关注重点,因为他们管理着View显示逻辑。         ...根据官方文档,UINavigationController每次只会展示一个ViewControllerView,每次进入到一个View时候push这个ViewController到navigation...应用默认UINavigationController第一个view controller是根视图控制器,即 root view controller,放在stack最底层,最新最高层。...这个参数就是询问你是否需要在页面切换时候加入动画。默认动画就是从右往左推出一个新页面。...,给他赋予一个NSString值,让ViewControllerApp被放到后台之前完成编码(保存)。

1.8K40

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

使用 自定义转场动画时,有两类关键类: 动画控制器 –  这个类是用来实现自定义动画.但你声明想要使用自定义动画时,你应该提供一个动画控制器.这个类实现需要动画,完成时会通知框架....使用动画控制器 AnimationControllers 文件夹中提供了许多可以整合进你工程中动画控制器: 自定义模态控制器显示/隐藏动画 UIViewControllerTransitioningDelegate...协议被用来模态控制器显示/隐藏时提供一个动画控制器.当一个视图控制器被模态显示或隐藏时,它transitioningDelegate属性用来提供UIViewControllerTransitioningDelegate...方法返回模态显示动画, 通过 animationControllerForDismissedController: 返回模态消失时动画即可....,可以实现交互式动画转场效果,比如可以让用户通过手势来控制页面间导航.交互控制器允许用户一个转场动画中前进,后退,甚至退出.

1.5K60

iOS 问题总结(五)

3.使用 UISearchController 遇到问题: 我自定义了一个 HeaderView,如下图: ?...-64 高度,导致不能在屏幕上显示,如下图: ?...,苹果开发中心demo中对这行代码,注释如下 // know where you want UISearchController to be displayed 如果不添加上面这行代码,设置 hidesNavigationBarDuringPresentation...这个属性为YES时候,搜索框进入编辑模式导致,搜索栏不可见,偏移 -64 ;设置为 NO 时候,进入编辑模式输入内容导致高度为 64 白条,猜测是导航栏没有渲染出来。...然后我又试着把隐藏导航栏属性注释掉,然后运行,还是能够正常显示,下面是随后代码: -(UISearchController *)searchController { if (_searchController

1.5K10
领券