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

如何让NavigationItem.searchController的searchBar使用整个屏幕的宽度

NavigationItem.searchController的searchBar使用整个屏幕的宽度可以通过以下步骤实现:

  1. 首先,创建一个自定义的搜索控制器(SearchController),继承自UISearchController,并重写其init方法。在init方法中,设置searchBar的frame为整个屏幕的宽度。
代码语言:txt
复制
class SearchController: UISearchController {
    override init(searchResultsController: UIViewController?) {
        super.init(searchResultsController: searchResultsController)
        self.searchBar.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 44)
    }
    
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
}
  1. 在需要使用该搜索控制器的视图控制器中,创建一个NavigationItem,并将自定义的搜索控制器(SearchController)赋值给NavigationItem的searchController属性。
代码语言:txt
复制
let searchController = SearchController(searchResultsController: nil)
navigationItem.searchController = searchController
  1. 最后,确保在视图控制器的生命周期方法中,将definesPresentationContext属性设置为true,以确保搜索控制器在当前视图控制器中正确显示。
代码语言:txt
复制
override func viewDidLoad() {
    super.viewDidLoad()
    definesPresentationContext = true
}

这样,NavigationItem.searchController的searchBar就会使用整个屏幕的宽度。

推荐的腾讯云相关产品:腾讯云移动推送服务(https://cloud.tencent.com/product/umeng_push)

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

相关·内容

分享个通过CSSJS判断屏幕宽度方法

因为最近几天给主题加了视频背景,考虑到手机端是不显示背景,既然不显示就想着视频资源最好也别加载,给手机端省点流量,于是乎想了个骚气判断方式。...教程 首先给css部分加入如下代码,其中使用媒体查询设置了5个断点,一般常见框架断点都是这样,默认content值是0,随着屏幕宽度变化分别赋值1-5。...html { content: "4"; } } @media (min-width: 1536px) { html { content: "5"; } } 然后我们使用下方...js获取这个值,最后使用if语句判断值大于某数值时才会执行某些操作,比如我就是判断值大于等于4时才会把视频地址赋值给video标签。...content'); content=content.replace('"', '').replace('"', ''); if(content>0){ ... } 这么写非常适合配合css框架实现不同屏幕下执行不同

2.4K20

如何高度、宽度不定容器保持水平、垂直居中

这个题目似乎解决办法很多,JS是最能够确保各种浏览器中一致性,但是仍然可以使用CSS方式来解决。这个问题分解为两个方面,第一解决左右居中问题,第二解决上下居中问题。 1、左右居中。...左右居中最为简单,使用 text-align:center; 就可以绝大多数对象居中对齐,并且这个属性也获得了几乎全部浏览器支持。...这是一个好问题,在做居中布局页面时,这是我们最常用DIV容器居中办法。margin作用于块级元素,而是否作用于其他内敛元素,不同浏览器有着不同解释,因此对于左右居中,没有使用这个方法。...上下居中,有两种方法,一种是负margin办法,这种对于固定宽度容器,非常好用。另外一种就是适应于高度不固定情形,即使用 vertical-align 属性。...在表单元格中,这个属性会设置单元格框中单元格内容对齐方式。 3、最后代码 综上,可以得出对于高度、宽度都不固定容器,如何其做到水平、垂直居中: 1 <!

2.6K20
  • 使用前置音响固体电影屏幕如何工作

    本次演讲内容是使用前置音响固体电影屏幕如何工作,目的是解决音响折中问题。 演讲者首先简单介绍了电影音响历史发展,包括从穿孔屏引入到电影环绕声出现以及杜比立体环绕声出现。...随后演讲者指出了虽然环绕扬声器数量一直增加,但是最重要通道相关问题没有解决。 第二部分是方法论。演讲者介绍了TSF屏幕房间布局和多种测量屏幕频道音响方法。...第三部分是标准穿孔/高频,演讲者分别介绍了前中后排、坐标轴和以及侧面等不同情况声音分贝随频率变化曲线图,并给出了结果分析。 第四部分是微型穿孔/高频。...同样展示了前中后排、坐标轴和以及侧面等不同情况声音分贝随频率变化曲线图,并给出了结果分析。 第五部分是量化折中。演讲者分别介绍了几个音响测量实验,包括角度对比、扬声器倾斜度对比和距离对比。...并分别给出了对应结果分析。 第六部分主要介绍了前波音响工作原理。最后是QA环节。

    59110

    如何使用机器学习来检测手机上聊天屏幕截图

    如果发送或接收了大量这些屏幕截图,那么最终手机大部分内存都将被阻塞。在保留重要图像安全同时查找和删除这些屏幕快照是一项非常耗时任务。...因此想用机器学习来完成这项工作 理念 从普通图像中检测聊天屏幕截图任务可以表述为经典二进制图像分类问题!可以使用卷积神经网络(CNN)来完成这项工作。...CNN输入层将是一幅图像,输出层将仅包含一个神经元,告诉输入图像是正常图像还是聊天屏幕截图。在接下来部分中,将介绍构建模型所有细节。 数据采集 在机器学习中,一切都始于数据。...第一个表示聊天屏幕截图,另一个表示普通图像。因此从不同消息传递应用程序(如WhatsApp,Messenger,Instagram等)中收集了与朋友聊天屏幕截图。...在这个对象帮助下,使用了缩放,剪切,翻转转换来增强数据。为了规范化像素值,应将图像重新缩放为1 / 255.0倍。

    2.1K10

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

    设置代理     //UISearchBar不执行搜索行为,必须使用delegate,当输入搜索文本、点击button按钮后,代理方法     会完成搜索对应操作。    ...;     //设置开始搜索时背景显示与否(很重要)      searchVC.dimsBackgroundDuringPresentation = NO;      //适应整个屏幕     [searchVC.searchBar...使用时注意:在searchBarTextDidBeginEditing事件中必须将当前子视图上移44px(即移到导航条中),以便达到用户觉得UISearchController界面中Search bar...而用户退出UISearchController界面时,同样要记得重新设置此界面的布局,以便用户觉得此Search bar是UISearchController界面中下移下来。...searchVC.dimsBackgroundDuringPresentation = YES;     [_searchVC setHidesNavigationBarDuringPresentation: YES];     //适应整个屏幕

    51320

    如何使用 golang 反射机制你事半功倍

    引言 上一篇文章中,我们详细了解了 golang 中反射机制实现原理。 golang 中反射(上) — 反射原理与实现 本文,我们就来详细介绍 golang 中反射使用。 2....将 value 强制转换为已知类型 经过上文介绍,我们可以通过 ValueOf 拿到了内存中实际值,从原理上来说,只要通过强制类型转换,就可以将他转换为我们需要类型了。 2.1....动态设置值 正如前面所说,反射一个非常重要作用就是动态改变变量值,从而在运行时实现通用性极强一些功能。 4.1....通过 Value 对象 Elem() 方法获取到指针引用内存变量并设置为可寻址 通过 Elem() 方法返回 Value 对象 Set() 方法,我们就可以设置相同类型值了 package...需要注意是,在获取目标类型指针对应 Value 对象时,我们需要区分: slice 本身持有数组指针,所以无需通过 & 运算获取地址 对于数组来说,& 运算符获取数组地址是必须 package

    57910

    手机管家 iPhoneX 适配总结

    一、设计关注篇 注意设计基本原则:(苹果呼吁) [规格原帖] WWDC__Designing for iPhoneX ,最终说明见上面的官方说明 二、App充满屏幕 刚升级完GM版Xcode...补充List—— 一些官方必备要领传送门: 官方说明 WWDC__Building Apps for iPhone X ->主要提及SafeArea概念以及横屏情况下区域如何设计,还有TableView...SearchBar适配 三、整理一下发型 将旧版本App塞满屏幕后,来到我们最关心“刘海”问题了 见图可知,我们默认StatusBar在iPhoneX中也有了相对调整,对于开发和布局设计(UI...其中一个可能会有坑点,iPhoneX宽度与6s是一样,但使用是@3x图。所以在处理比例和插图时,需要注意。这就意味着,我们用一些通过比例对其切图和布局方法将会出现问题。...(注意使用接口需要iOS 11+系统,方法前请务必进行系统判断) SafeArea帮助我们将View设置在整个屏幕可视化部分,即使把NavigationBar设置为透明,系统也认为SafeArea

    1.5K00

    《手管iPhoneX适配总结》

    充满屏幕 刚升级完GM版Xcode,兴奋地build了一下手管 我们_window依旧是使用[UIScreenmainScreen].bounds作为frame,那问题出在哪呢?...__Building Apps for iPhone X (https://developer.apple.com/videos/play/fall2017/201/) -> 主要提及SafeArea概念以及横屏情况下区域如何设计...,还有TableViewSearchBar适配 三、整理一下发型 将旧版本App塞满屏幕后,来到我们最关心“刘海”问题了 见图可知,我们默认StatusBar在iPhoneX中也有了相对调整,...其中一个可能会有坑点,iPhoneX宽度与6s是一样,但使用是@3x图。所以在处理比例和插图时,需要注意。这就意味着,我们用一些通过比例对其切图和布局方法将会出现问题。...(注意使用接口需要iOS 11+系统,方法前请务必进行系统判断) SafeArea帮助我们将View设置在整个屏幕可视化部分,即使把NavigationBar设置为透明,系统也认为SafeArea

    44920

    手把手带你撸一个网易云音乐首页(三)

    前言 Hello, 大家好,今天准备和大家继续分享如何利用 Swift 来实现一个网易云音乐首页;上俩篇文章文章发布以后,我收获了不少小伙伴关注与点赞,同时也得到了一些非常有用建议,在这里再次感谢大家认可...而且使用这俩个方法也无法为视图指定设置圆角方位,是要左上角呢还是右下角? 上面讲到为视图设置圆角一不小心就会造成离屏渲染,那么这个问题该如何解决呢!...但是,通过观察你会发现它 UI 样式其实是有讲究,就是在同一个页面中,它第二个 item 也需要露出一部分,这该如何去实现呢!...image 有人要问那是不是 UICollectionView 这个控件就只能按照屏幕大小来分页呢!答案当然是否定。我们还可以用自定义方式来实现分页滚动。...记录了滚动目标位移坐标,通过这个坐标和记录上次滚动坐标可以判断出是向左滚动还是向右滚动 如果俩坐标的水平方向相减绝对值大于某个固定值(譬如说 item 宽度 8 分之一),则可以判断发生了分页

    2.3K10

    如何安装了显卡驱动GPU机器VNC能正常使用

    腾讯云官网文档写GPU机器VNC 不可用,实测2019Grid11中英文镜像,有一个vnc是正常,有一个vnc不能用,我就对比了下2个镜像买机器差异,发现点技巧。...如何安装了显卡驱动GPU机器VNC能正常使用,有两种方法。...一、先用自建VNC方案(服务端TightVNC+客户端VNCViewer)连到机器上进行如下操作后控制台vnc就能用了 vnc viewer需要如图发送ctrl alt del后手动输入Administrator...密码,然后 桌面右键 → 显示设置 → 扩展这些显示器 → 仅在1上显示,这样控制台vnc就可以使用了,如果控制台vnc里鼠标不同步,也是按【桌面右键 → 显示设置 → 扩展这些显示器 → 仅在1上显示...二、破除显卡驱动 想办法操作系统在开机时不加载显卡驱动,安装了显卡驱动GPU机器VNC能正常使用(仅限OS问题排查,排查完毕后要复原回去) NVIDIA有2个服务、1个驱动是开机启动项,光从服务列表禁用那

    3.1K30

    手机管家iPhoneX适配总结

    Displays.html WWDC__Designing for iPhoneX ( https://developer.apple.com/videos/play/fall2017/801/) 最终说明见上面的官方说明 App..._Building Apps for iPhone X (https://developer.apple.com/videos/play/fall2017/201/)  -> 主要提及SafeArea概念以及横屏情况下区域如何设计...,还有TableViewSearchBar适配 整理一下发型 将旧版本App塞满屏幕后,来到我们最关心“刘海”问题了 ?...其中一个可能会有坑点,iPhoneX宽度与6s是一样,但使用是@3x图。所以在处理比例和插图时,需要注意。这就意味着,我们用一些通过比例对其切图和布局方法将会出现问题。 ?...SafeArea帮助我们将View设置在整个屏幕可视化部分,即使把NavigationBar设置为透明,系统也认为SafeArea是从NavigationBarbottom开始

    71910

    Vue3 如何实现一个全局搜索框

    我们去 SearchBar.vue 去设置一个样式给最外层 div,这里其它样式写法使用是 Uno CSS,没用过小伙伴也不需要担心,它只是单纯样式,和本文中心内容不牵扯。...整个组件样式都是在 Vue 提供 组件内写,但是你要知道,Vue 在底层还是通过调用 h() 来完成虚拟 dom 构建。...那如果我不想使用 去展示这个组件的话,我是否可以这样写呢?h(SearchBar.vue)。没错,是的,你就是可以这样写。...效果如下: 到这里 searchBar 已经可以呈现在页面上了,但是我们还不知道怎样它消失,其实也非常简单,我们只需要在合适时机移除这个 dom 元素即可。...那么该如何实现呢 打开我们之前准备 useSearch.ts 文件,我们把之前在 App.vue 全局生成这个 SearchBar 实例转换思路,使它在全局一个 ts 文件内生成一个,然后把这个实例自身一些方法封装成函数

    29410
    领券