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

为什么我的SwiftUI列表选择在被选中时不突出显示?

SwiftUI列表中的行在被选中时默认情况下不会突出显示。这是因为SwiftUI的设计初衷是提供一种简洁、干净的界面风格,减少不必要的视觉干扰。但是,你可以通过自定义视图的外观来实现所需的选中效果。

要使SwiftUI列表中的行在被选中时突出显示,可以遵循以下步骤:

  1. 创建自定义行视图: 创建一个自定义的列表行视图,并在其中添加你想要的选中时的样式。例如,可以使用背景颜色或边框来突出显示选中的行。你可以使用SwiftUI中的View协议来自定义行视图。
  2. 在列表中使用自定义行视图: 将自定义的行视图应用到列表中的每一行。使用SwiftUI的List视图,并在其中使用ForEach视图构建列表的每一行。将自定义的行视图作为ForEach的内容视图。
  3. 添加选中状态的绑定: 创建一个布尔类型的状态变量,用于跟踪行是否被选中。将该状态绑定到自定义行视图的选中状态属性上。在自定义行视图中,使用@Binding属性包装器来绑定选中状态的值。
  4. 更新自定义行视图的外观: 在自定义行视图中根据选中状态的值来更新视图的外观。例如,可以使用if-else语句或条件修饰符根据选中状态来设置背景颜色或边框。当行被选中时,使用不同于未选中时的样式来突出显示行。

这样,你就可以自定义SwiftUI列表中的行在被选中时的外观。

腾讯云提供了多种与移动开发相关的产品和服务,其中包括移动应用开发平台、移动应用推送服务、移动安全服务等。你可以访问腾讯云的移动开发文档以了解更多详细信息:腾讯云移动开发

请注意,这里没有提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等流行的云计算品牌商,按照要求直接给出了答案内容。

相关搜索:为什么我的按钮在被选中时不改变颜色?为什么LiteIDE不构建被选中/突出显示的go文件?为什么我的组合框在被选中后不显示数据为什么我的手风琴在被点击时没有显示子标签?为什么我的状态视图在更新@ SwiftUI变量时不更新?为什么我的react日期选择器在从<Link>显示时不弹出?我的选择如何才能在SwiftUI中创建的列表中正确显示为什么我的列表在更新列表时不重新显示为什么我的WPF组合框在选中时显示绑定的型号名称?当我使用动态url选择我的离子标签时,该标签不会突出显示选择选取器选项时,为什么我的SwiftUI页面标题会更改?在列表中选择每一项时,SwiftUI都会显示它自己的detailView当我向列表添加新项时,为什么我的代码不更新双击或突出显示entry小部件中的文本时,Tkinter列表框小部件选择消失带有coreData的SwiftUI和列表,意外行为,为什么它删除另一行,而不是我选择react-datepicker突出显示以前选择的日期,以及打开时的当前日期。我如何防止这种情况发生?为什么我的其他视图在使用协调器布局后快捷栏显示时不上移?为什么我的react-router不工作?URL在单击时更改,但在DOM上不显示当我将正确的数据传递给它们时,为什么我的复选框不显示为选中状态?当使用JSON解析时,我的列表显示所有值都是未定义的吗?为什么?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Xcode 11 初体验

SwiftUI、storyboad其中有两篇博客也介绍到了SwiftUI:SwiftUI - 百行代码变十行,Swift再创辉煌 和 WWDC - SwiftUI - 初恋般感觉 代码块 代码块也做了调整...,选中后点击鼠标左键或者键盘Enter 键,就可以在指定窗口打开这个文件了。...当你项目关联了版本控制工具,比如 Git, Xcode 会检测出当前文件哪些地方相对于上次递交版本有更改,并且会通过在左边显示一个蓝色线条标记出来: Change Bar 点击左键还可以选择 show...为什么这么说呢?...关于Swift UI 更新 其中有两篇博客也介绍到了 SwiftUI : SwiftUI - 百行代码变十行,Swift再创辉煌 WWDC - SwiftUI - 初恋般感觉 参考:Apple 官方文档一线搬砖工人

3.2K10

在 Text 中实现基于关键字搜索和定位

本节内容仅代表在考虑处理上述问题想法和思路。其中不少功能已经超出了原本需求,增加这些功能一方面有利于更多地融汇以前博客中知识点,另一方面也提高了解题乐趣。...transcription 中结果值已经为高亮显示值( 当前选择高亮位置 ),且下一个序号位置仍在同一个 transcription 中,那么将放弃滚动。...为了达成这个目标,我们首先需要记录在 List 中,哪些 transcription 正在被显示,以及该 transcription 索引。...onAppear,每个视图退出显示窗口都会调用它 onDisapper。...了解更多内容,请阅读 SwiftUI 视图生命周期研究[9] 一文优先定位于最靠近屏幕中央搜索结果:/// 从 List 当前显示 transcription 中就近选择 match positionprivate

4.2K30
  • 面向所有人 UI 编程 :透过点按弹窗初尝 SwiftUI

    在手机应用中,软件开发者会使用不同技术来实现界面的显示,流行界面语言比如 Flutter,就是闲鱼应用交互界面语言。...也许你会这样和他说: 这个程序上有一段名人名言,中英文版,上面一行是「天助自助者」,下面是「God helps those who help themselves」希望它能被点按选中选中时候一定注意中英文两句话要一起被选中...那么为什么要说这些呢?因为 SwiftUI 设计思路正是描述性编程语言,你将上面这段话稍微整理一下,就是 SiwftUI 写法。比如下面这段文字就是整理好 SwiftUI 代码: ?...其中 View 表示一个视图,比如我们在手机上看到一个滑条,一张图片,一个列表等种种,都叫做视图;而 Modifier 则是修饰器,它作用是为视图增加功能,比如圆角,动画,阴影,边际,背景等等。...你会说,嗨,这么简单事,用 SwiftUI 美术自己就能写。

    2.1K40

    Ask Apple 2022 与 SwiftUI 有关问答(下)

    Table 中上下文菜单Q:如果在 TABLE 上添加了一个上下文菜单,如何确定哪一行导致了菜单显示(无需选择该行)?...快速检索数组元素Q:为什么没有简单方法将 TABLE 选择行映射到提供表内容数组元素上?似乎唯一方法是在数组中搜索匹配 id 值,这对于大表来说似乎效率很低。...A:你最好选择是使用 ScrollView 和 ScrollViewReader,并在 onAppear 或新内容进来时滚动到最底部视图。建议尝试旋转滚动视图。...Swiftcord[12] 代码展示了如何在 SwiftUI 下实现倒置列表。阅读 优化在 SwiftUI List 中显示大数据集响应效率[13] 一文,了解苹果工程师推荐方法。...这个技巧对于处于屏幕顶部或底部视图十分有用。详情请参阅 推文[15] 。动画转场Q:为什么下面的代码没有显示动画转场。

    14.8K30

    Ask Apple 2022 与 SwiftUI 有关问答(上)

    是否有任何建议用来检测列表选择,类似于 “NavigationLink”,但不导航到另一个视图(例如,显示 Sheet 或从列表选择一个选项 )?...假设我们想创建一个类似于 iMessage 视图,在那里你可以看到一个信息列表(与本例无关),在视图底部有一个文本框。当用户点击文本字段,键盘会在其工具栏中出现一个文本字段。...这在 SwiftUI 中仍适用,还是说 struct 本身现在被视为 viewModel ?A:SwiftUI 试图与应用程序整体架构无关。...不过,在传统 viewModel 意义上,建议将视图( 结构本身 )作为视图模型。...在有些情况下,想根据视图是否折叠来做决定( 例如,如果展开,在详细视图中显示一条信息,如果折叠,则显示一个警告或其他指示 )。

    12.3K20

    AnyView 对 SwiftUI 性能影响

    在本文中,将使用 Stream SwiftUI 聊天 SDK 进行一些测量,使用其默认基于泛型实现,并将其与使用 AnyView 修改后实现进行比较。...此外,当你再次浏览列表,性能不会改善(甚至变得更糟)。这是有道理,因为 SwiftUI 不知道它已经显示过此视图一次(因为它隐藏在 AnyView 下)。...仅浏览数据,如果你将视图包装在 AnyView 中,则会比包装慢大约 10%。如果你在浏览数据更改数据,则此差异将增加到约 17%,而且这些故障在这里更加明显。...这意味着,当列表发生更改时,我们实际上重新创建了整个列表。这也解释了为什么 AnyView 实现随着时间推移变慢 - 每次重绘都需要从头开始创建更多内容。...例如,如果你有一个菜单,作为几个异构元素列表,在点击显示不同导航目标,并且决定将这些视图包装为 AnyView,测量结果表明与使用其他方法相比,性能没有区别。

    14200

    优化在 SwiftUI List 中显示大数据集响应效率

    也就是当显示主界面菜单列表视图已经完成了实例创建(可以通过在 ListEachRowHasID 构造函数中添加打印命令得以证明),因此也不应是实例化列表视图导致延迟。...在 SwiftUI 视图生命周期研究[3] 一文中,对 List 如何对子视图显示进行优化做了一定介绍。...当仅通过 ForEach 来指定显示标识,List 会对这些视图显示进行优化,仅在需要显示才会对其进行实例化。...除非没有其他选择,否则并不推荐大家对 UIKit ( AppKit ) 控件进行重新包装,应使用尽可能微小侵入方式对 SwiftUI 原生控件进行补充和完善。...,并在首次滚动到列表底部也没有延迟。

    9.2K20

    庆幸果断放弃了SwiftUI:它还不够成熟

    这是个宝贵机会,能让认真体验一把 SwiftUI 并探索其内部工作原理。 起初项目工作良好,SwiftUI 表现可以说非常满意,甚至创建了自己修改器,以便更轻松地显示警报消息。...但在开始实现更复杂检查器视图,特别是涉及带有 / 不带步进器或颜色选择多个文本字段,整个运行速度开始剧烈下降。...它显示效果就是主窗口中一张表,出于学习目的,当然还是想继续用 SwiftUI 喽。毕竟初次尝试肯定会有种种问题,应该再给它一次机会。...刚开始以为是因为地图编辑器 SpriteKit 主视图仍在后台渲染。所以我尝试在工作表显示出来后禁用渲染,但结果没有任何改变。 变更从一种环境传播至另一环境也遇到了类似的延迟问题。...但我至少可以更好地控制应用程序行为,而且根据需求随意调整各种元素。 总之,经历了这么一番波折,还是很庆幸自己果断放弃了 SwiftUI。这可能是在这个项目上做过最明智选择

    5K20

    SwiftUI 中创建自适应程序化导航方案

    取消选中高亮 // 可以用类似的方式,改善当 contentID 变化后,content 列仍会有灰色选择提示问题 DispatchQueue.main.asyncAfter...= nil { List(selection: $store.detailID)} else { Text("Empty")}修改状态后,List 仍会用灰色显示上次选中项目即使取消了状态...( 例如修改 contentID ),List 仍会将上次选中状态用灰色选中框进行表示。...正以聊天室、Twitter、博客留言等讨论为灵感,从中选取有代表性问题和技巧制作成 Tips ,发布在 Twitter 上。...每周也会对当周博客上新文章以及在 Twitter 上发布 Tips 进行汇总,并通过邮件列表形式发送给订阅者。订阅下方 邮件列表[8],可以及时获得每周 Tips 汇总。

    4.3K30

    iOS开发之WidgetKit补充

    在 iOS 14 正式版发布之前写了一篇博文《iOS开发之WidgetKit》,iOS 14 正式版发布以后,经测试,Apple 改变了 Widget API,所以本文进行一个补充说明(在前文基础上做了修改...配置App Groups.jpg 如果文件需要共享,可以选中 App 中需要共享给 Widget 文件,然后勾选 Widget Target。....configurationDisplayName:设置 Widget 在添加界面中显示标题。 .description::设置 Widget 在添加界面中显示描述。...getTimeline 方法里有一个 policy 参数,表示刷新时机,可以选择.never(刷新),.atEnd(Entry 显示完毕之后自动刷新) 或 .after(date)(到达某个特定时间后自动刷新...也可以通过.widgetURL(myDeeplink)方法配置当 Widget 被点击触发哪个 Deep Linking,也可以通过使用链接使 Widget 不同部分触发不同 Deep Linking

    2K30

    使用 SwiftUI 创建一个灵活选择

    前言 最近,在正在开发一个在 Dribbble 上找到设计 SwiftUI 实现时,想到了一个点子,可以通过一些酷炫筛选器扩展该项目以缩小结果列表。...在使用 UIKit 总是将这种类型视图实现为具有特定 UICollectionViewFlowLayout UICollectionView。但在 SwiftUI 中该如何实现呢?...所有符合该协议对象必须实现两个属性:displayedName(在选择器中显示名称)和 isSelected(一个布尔值,指示特定选项是否已选择)。...这就是为什么引入了一个 FontWeight 枚举,其中包含以 UIFont 权重命名所有可能情况。...这就是为什么将分隔行结果映射到元组中,其中包含每行和 UUID 值。 由于如此,可以向 ForEach 循环提供 id 参数。

    29720

    SwiftUI + Core Data App 内存占用优化之旅

    本文将通过对一个演示 App 进行逐步内存优化方式( 由原先显示 100 条数据要占用 1.6 GB 内存,优化至显示数百条数据仅需 200 多 MB 内存 ),让读者对 SwiftUI 视图存续期...当子视图进入惰性容器可视区域SwiftUI 会调用它 onAppear 闭包,子视图退出可视区域,会调用 onDisappear 闭包。...尽管从表面上来看,惰性容器仅会在视图进入可视区域才会对其进行操作,但一旦该视图被显示过( body 被求过值 ),即使该视图离开可视区域,SwiftUI 仍会保存视图 body 值。...图片 尽管上述优化技巧可能会对滚动流畅度产生一定影响( 视觉上不明显 ),不过考虑到它所带来巨大收益,在本例中应该是一个相当不错选择。...数据多份拷贝 当图片数据从 SQLite 经 Core Data 最终通过 SwiftUI 显示,实际上在内存中至少保存了三份拷贝: 行缓存 托管对象上下文( 托管对象被填充后 ) 显示该图片 SwiftUI

    2.4K40

    SwiftUI + Core Data App 内存占用优化之旅

    本文将通过对一个演示 App 进行逐步内存优化方式( 由原先显示 100 条数据要占用 1.6 GB 内存,优化至显示数百条数据仅需 200 多 MB 内存 ),让读者对 SwiftUI 视图存续期...当子视图进入惰性容器可视区域SwiftUI 会调用它 onAppear 闭包,子视图退出可视区域,会调用 onDisappear 闭包。...尽管从表面上来看,惰性容器仅会在视图进入可视区域才会对其进行操作,但一旦该视图被显示过( body 被求过值 ),即使该视图离开可视区域,SwiftUI 仍会保存视图 body 值。...Navigator-Debug 尽管上述优化技巧可能会对滚动流畅度产生一定影响( 视觉上不明显 ),不过考虑到它所带来巨大收益,在本例中应该是一个相当不错选择。...数据多份拷贝 当图片数据从 SQLite 经 Core Data 最终通过 SwiftUI 显示,实际上在内存中至少保存了三份拷贝: 行缓存 托管对象上下文( 托管对象被填充后 ) 显示该图片 SwiftUI

    1.3K10

    解析SwiftUI布局细节(二)循环轮播+复杂布局

    这篇我们还是说我们关于SwiftUI东西,再提一下Demo代码已经提交上Git了,目前Demo进度为一级页面基本上结束,地图点击大头针添加也刚处理完,代码有需要小伙伴可以去Git看看,项目地址...GeometryReader 主要作用就是能够获取到父View建议尺寸,这就是它主要作用,要没有它我们面临可能就是无休止传值了,SwiftUI 既然是声明式UI,按理解你就没有办法去获取某一个视图父视图之类...3、再提一点关于上面说滚动视图,在UIKit中我们可以用UICollectionView搞定一切,但是在SwiftUI中没有这个控件,建议采用方式是 ScrollView + HStack + VStack...除了这个List,还要一个From我们也可以了解下,他们俩肉眼可见区别 在选中这个点上区别。...spring():.none) /// 监听当前索引变化,最开始初始化为0是监听, .onChange(of: currentIndex, perform

    12.1K20

    SwiftUI 中实现视图居中若干种方法

    欢迎大家在 Discord 频道[2] 中进行更多地交流将某个视图在父视图中居中显示是一个常见需求,即使对于 SwiftUI 初学者来说这也并非难事。...解决方法是:.background(.blue, ignoresSafeAreaEdges: []) ,排除掉希望忽略安全区域。...另外,由于 Color、Rectangle 会在两个维度进行填充( Spacer 会根据容器选择填充维度 ),因此,使用它们作为填充物,将会自动使用全部可用空间( 包括高度 ),无需通过 .frame...为本文这种通过多种方法来解决一个问题方式添加了【小题大作】标签,目前使用该便签文章还有:在 Core Data 中查询和使用 count 若干方法[6]、在 SwiftUI 视图中打开 URL...每周也会对当周博客上新文章以及在 Twitter 上发布 Tips 进行汇总,并通过邮件列表形式发送给订阅者。订阅下方 邮件列表[10],可以及时获得每周 Tips 汇总。

    6.8K40

    一段因 @State 注入机制所产生“灵异代码”

    如果注释这行代码,fullScreenCover 中将显示 n = 2 ( 符合预期 )。这是为什么?...打印 Parent View update),Sheet 代码块中 SheetInitMonitorView 没有任何输出( 意味着闭包没有被调用 ),只有在模态视图进行显示SwiftUI 才执行...在 ContextView 包含 Text 情况下,在 Sheet 显示后,n _wasRead 将转变为 true( Sheet 视图显示后,方创建关联 )。...dump(_n) }}Sheet 视图上下文当 SwiftUI 创建并显示一个 Sheet 视图,并非在现有的视图树上创建分支,而是新建一棵独立视图树。....id(n) .onChange(of:n){_ in } // id 或 onChange 均可以在添加显示内容情况下,创建关联在 创建自适应高度 Sheet 推文[4] 中,便使用过 id

    1.9K20

    分享15个有用,你可能还不知道CSS小技巧,建议每个前端开发者都了解下

    这在样式化列表或导航菜单特别有用。 使用:first-child和:last-child伪类,你可以直接选择并样式化父元素第一个和最后一个子元素,而无需为它们添加额外类或选择器。...:checked伪类允许你在这些元素被选中进行样式设置,提供了一致且视觉上令人愉悦用户体验。 通过使用:checked伪类,你可以为复选框和单选框输入在被选中设置样式。...这使得你可以自定义它们外观,使其与整体设计风格一致,并提供更好用户反馈。你可以改变其背景色、边框样式、图标等,以突出显示选中状态。...这可以用于创建滚动效果或突出显示特定部分,而无需依赖JavaScript。 使用:target伪类,你可以根据URL片段标识符来选择并样式化特定元素。...当用户点击包含片段标识符链接,浏览器会自动滚动到对应元素,并应用:target伪类所定义样式。这使得你可以在页面上创建滚动到特定部分效果,或者突出显示被定位元素。

    19840

    老人新兵 —— 一款 iOS APP 开发手记

    SwiftUI、Combine 以及 Core Data 中新特性对很有吸引力兴趣驱动,没有商业压力和历史包袱,因此可直接采用尚未成熟或前景不明技术在经过一番了解后,最终选择 SwiftUI +...技术准备十多年接触代码最大担心不是知识储备不够,而是没有手感了。这个忧虑最终也得到了证实。...这也是目前 SwiftUI 中控件显示设定一个问题( 主要是官方并不推荐和支持这样行为 ),各个 view 中如果通过 UIKit 修改设定的话,之间隔离。... app 中有几处 Sheet 弹出响应就比较慢( 将 view 移出 sheet,使用 NavigationLink 调用显示就很好 ),尤其是退出响应更慢。...开发环境下 app 里云数据库中数据和 app store 下载 app 数据互通( 同一个 id ),开发模拟器里数据也不能和实机数据云同步,必须在多个实机中才能测试。

    2.5K40

    如何结合 Core Data 和 SwiftUI

    在此项目中,我们将仅使用少量 Core Data 功能,但是这种功能将很快扩展——只想首先了解一下它。...当您创建 Xcode 项目要求您选中 Use Core Data 框,它应该导致对项目的更改: 现在,您有了一个名为 Bookworm.xcdatamodeld 文件。...我们需要确保该获取请求随着时间推移保持最新,以便在创建或删除学生,我们 UI 保持同步。 SwiftUI 有一个解决方案,而且——您猜对了——这是另一个属性包装器。...为了解决这个问题,我们将在列表下方创建一个按钮,每次点击都会添加一个新随机学生,但是首先我们需要一个新属性来存储托管对象上下文。 让重申一下,因为这很重要。...我们无法在代码中看到该类,因为它是在构建项目自动生成,就像 Core ML 模型一样。

    11.8K30

    GeometryReader :好东西还是坏东西?

    在本文发表之前,发起了一个 投票[4] 询问大家对 GeometryReader 看法,从结果来看,对其持负面印象比例较高。...对于为什么采用 Extension 方式,设计者可能考虑了以下两个因素: 通过 Binding 方式向上传递信息,并不是当前官方 SwiftUI API 主要设计方式。...这种非常规布局逻辑是推荐将其直接用作布局容器原因之一。 GeometryReader 不支持对齐指南调整,因此上面的描述使用了原点。...作为一个视图,GeometryReader 只能在被评估、布局和渲染后,才能将获取数据传递给闭包中代码。...在处理类似需求,我们应优先采用更符合 SwiftUI 思维方式来考虑布局方案,而非依赖某个特定几何数据进行计算。

    63070
    领券