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

当MacOS催化剂上的屏幕上出现其他具有自定义样式的按钮时,没有样式的SwiftUI按钮(以及其他所有按钮)将变得无响应

当MacOS催化剂上的屏幕上出现其他具有自定义样式的按钮时,没有样式的SwiftUI按钮(以及其他所有按钮)将变得无响应。这是因为在SwiftUI中,按钮的响应是基于视图层次结构的,而具有自定义样式的按钮可能会覆盖在没有样式的按钮上面,导致没有样式的按钮无法接收到用户的点击事件。

为了解决这个问题,可以采取以下几种方法:

  1. 调整视图层次结构:将没有样式的按钮放在具有自定义样式的按钮之上,确保没有样式的按钮处于视图层次结构的顶部。这样,没有样式的按钮就能够正常接收到用户的点击事件。
  2. 使用高优先级的手势识别器:在没有样式的按钮上添加一个高优先级的手势识别器,以确保它能够优先于具有自定义样式的按钮响应用户的点击事件。可以使用SwiftUI中的gesture()方法来添加手势识别器。
  3. 使用透明的按钮:将没有样式的按钮设置为透明,这样即使被具有自定义样式的按钮覆盖,用户点击的事件仍然能够透过具有自定义样式的按钮传递到没有样式的按钮上。
  4. 使用自定义的按钮样式:如果需要在没有样式的按钮上添加一些自定义样式,可以使用SwiftUI中的ButtonStyle协议来创建自定义的按钮样式。这样可以保持按钮的响应性,并且具有自定义样式。

总结起来,当MacOS催化剂上的屏幕上出现其他具有自定义样式的按钮时,没有样式的SwiftUI按钮(以及其他所有按钮)将变得无响应。为了解决这个问题,可以调整视图层次结构、使用高优先级的手势识别器、使用透明的按钮或者使用自定义的按钮样式。这些方法可以确保没有样式的按钮能够正常接收到用户的点击事件。

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

相关·内容

【visionOS】从零开始创建第一个visionOS程序

在任何SwiftUI应用中,你都可以使用场景将内容放到屏幕上。场景包含要在屏幕上显示的视图和控件。场景还定义了这些视图和控件出现在屏幕上时的外观。...创建你的Xcode投影页面链接 在Xcode中选择File >新比;项目。导航到模板选择器的visionOS部分,并选择App模板。当出现提示时,为项目指定一个名称以及其他选项。...当一个人的手指与屏幕上的项目占据相同的空间时,系统就会报告一个交互。额外的手指和手部动作定义手势类型。 这张照片显示了一个人的手在桌子上的物理键盘上打字。一个虚拟的建议条显示在物理键盘的上方。...将指针移动到窗口栏旁边的圆圈上,显示窗口的关闭按钮。将光标移动到窗口的一个角落,以将窗口栏变为调整大小控件。 tips:应用程序不能控制窗口在空间中的位置。...当指定的手势发生在实体上时,SwiftUI执行提供的闭包。 下面的示例将一个点击手势识别器添加到上一个示例中的球体视图中。

1.1K40

最新iOS设计规范四|3大界面要素:视图(Views)

将“取消”按钮作为默认按钮,并使用粗体文本。 允许用户通过退出APP到主屏幕来取消警示框。当警示框出现时,退出到主屏幕可以退出APP。这个操作产生与点击取消按钮的效果是相同的。...通常浮层上会有个指向其出现位置的箭头。浮层分为非模态的和模态的。非模态浮层可以通过点击屏幕上浮层以外的部分或浮层上的按钮来取消/关闭。而模态浮层则是通过点击浮层上的取消或其他按钮来关闭/取消的。...浮层适合大屏幕上,可以包含各种元素,包括导航栏、工具栏、标签栏、表格、集合、图像、地图和自定义视图。当浮层出现时,其他视图的交互行为会被禁止,直到浮层被取消/关闭。...当滚动视图的缩放选项被打开时,设置比较合适的最大及最小值。例如:放大文本直到一个单一的字符充满整个屏幕,即使其可能对于大部分应用来说是没有意义的。 当滚动视图处于页面模式时考虑显示页面控制元素。...显示不全的文字和词语很难被阅读和理解。超长的文本被截断在所有表格单元格样式中都是自动的,只是根据你使用的单元格样式和发生截断的位置,它可能会出现或多或少的问题。 可为“删除”按钮自定义标题。

8.5K31
  • 玩转 Xcode Playground(上)

    Swift Playgrounds 没有提供设置执行结束位置的功能,但提供了单步执行的设定。点击屏幕下方的仪表按钮,可以设定调试方式。...image-20211223144432779 在没有必须依赖 iOS 框架代码的情况下,将运行环境设置为 macOS 可以减少因 iOS 模拟器错误引发的不稳定状况。...image-20211223144916673 当有多个 Playground Page 时,点击最上方的项目名称,可以为所有 Page 一并设置成统一的运行环境 image-20211223144934347...image-20211224091811968 当鼠标靠近右侧的屏幕图标时,将出现眼睛图标。点击眼睛图标将显示该行代码对应的 QuickLook 内容。...通过让其他的系统类型(主要集中于较新的 API)以及我们自定义的类型满足 CustomPlaygroundDisplayConvertible 协议,以提供 QuickLook 支持。

    4.1K20

    最新iOS设计规范五|3大界面要素:控件(Controls)

    将除了冠词、并列连词和四个或更少字母的介词之外,每个单词首字母都应大写。 按钮标题尽量简短。太长的文本可能会使您的界面拥挤,并可能在较小的屏幕上被截断。 只在必要时添加边框或背景颜色。...当列表中有详情展开按钮时,点击该按钮会显示附加信息,点击其他位置则选择行或APP的自定义行为。...折叠后,紧凑型样式将显示一个按钮,该按钮以应用程序的主色显示当前值。当人们点击按钮时,日期选择器将扩展为模式视图,从而提供对熟悉的日历样式编辑器和时间选择器的访问。...在iOS 12及更早版本中,以及在全面屏显示的设备上,网络活动指示器会在发生联网时在屏幕顶部的状态栏中旋转,联网完成后消失。和活动加载指示器样式一样,并且是非交互式的。 ?...在文本输入框中显示必要的提示,以帮助用户更好的输入。当输入框中没有其他文本时,文本输入框可以包含占位符文本。 适当时侯,在文本输入框的右端显示“清除”按钮。

    8.6K30

    Rnote:Star 8.6k,github上的宝藏项目,手绘与手写画图笔记,用它画图做笔记超丝滑,值得尝试!

    它支持草图绘制、手写笔记以及对文档和图片进行注释。Rnote提供了PDF和图片的导入导出功能、无限画布以及适应不同屏幕尺寸的UI界面。...当前文件位置奇怪:当标题栏中显示的目录类似于/run/user/1000/../时,Rnote可能没有权限访问该目录。同样,在Flatseal中授权可以解决这个问题。...使用手写笔悬停时,某些屏幕区域的其他输入事件被阻止:这可能是手掌拒绝功能,但如果不需要,可以检查是否有左右手系统设置,并确保设置正确。Rnote无法禁用此功能。...要更改映射到此“橡皮擦”模式的工具,请按照以下步骤操作: 将手写笔悬停在画布上,并按住被怀疑映射到“橡皮擦”模式的按钮在按住按钮的同时切换到所需的笔样式释放按钮时,它应该切换回之前的笔样式“橡皮擦”模式中的笔样式现在应该被记住字体...总的来说,Rnote在功能丰富性、自定义选项和跨平台支持方面具有明显优势。通过本文的介绍,相信你已经对Rnote有了更深入的了解。

    5800

    SwiftUI 4.0 的全新导航系统

    ,一分为二的方式将让布局表达更加清晰,同时也会强迫开发者为 SwiftUI 应用对 iPadOS 和 macOS 做更多的适配。...此时在 Detail 栏中将出现两个 NavigationTitle 以及两个 Toolbar 。...automatic 根据当前的上下文自动决定显示行为 上述选项并非适用于所有的平台,例如,在 macOS 上,detalOnly 不会起作用 如果想在 SwiftUI 4.0 之前的版本上使用类似的功能...,可以参考我在 用 NavigationViewKit 增强 SwiftUI 的导航视图[4] 一文中的实现方法 其他增强 除了上述的功能, 新的导航系统还在很多其他的地方也进行了增强。...样式 在之前版本的 SwiftUI 中,NavigationLink 其实一直都是作为一种特殊的 Button 存在的。

    10.4K62

    自定义 Button 的外观和交互行为

    本文将介绍如何通过创建符合 ButtonStyle 或 PrimitiveButtonStyle 协议的实现,自定义 Button 的外观以及交互行为。...ButtonStyle 和 PrimitiveButtonStyle 是专门针对按钮的样式 API ,它们不仅可以应用于 Button 视图,也可以应用于很多 SwiftUI 预置的系统按钮功能之上,例如...默认情况下,即使单元格的视图中包含了多个按钮,SwiftUI 也只会将 List 的单元格视作一个按钮( 点击后同时调用所有按钮的操作 )。...通过 Style ,我们可以在设置按钮样式时为其添加触发器:struct TriggerActionStyle:ButtonStyle { let trigger:() -> Void init...Style 的效果显著,但遗憾的是,目前 SwiftUI 仅开放了少数的组件样式协议供开发者自定义使用,并且提供的属性也很有限。

    3.7K60

    最新iOS设计规范三|3大界面要素:栏(Bars)

    但是如果添加导航栏显得多余,则可以将标题留为空白。例如,Notes的导航栏就没有标题说明文字,因为第一行内容已经有了足够的提示。 当需要特别强调上下文时,请使用大标题。...你可以同时提供自定义的蒙版图像,以便系统在转场过渡时使用此蒙版为按钮标题设置动画效果。 不要包括多段面包屑路径。后退按钮始终执行单个操作:返回上一屏幕。...如果在某些情况下可以使用标签,但在其他情况下则无法使用,则应用程序的界面将变得不稳定且不可预测。确保所有选项卡始终处于启用状态,并说明为什么选项卡内容不可用。...为了使您的界面具有可预测性,选择一个选项卡应始终影响直接连接到选项卡栏的视图,而不影响屏幕上其他位置的视图。例如,在拆分视图的左侧选择一个选项卡不应导致拆分视图的右侧突然改变。...当弹出键盘时,工具栏也会被隐藏。 ? tips:了解选项卡栏和工具栏之间的区别很重要,因为两种类型的栏都出现在应用程序屏幕的底部。

    9.9K10

    最新iOS设计规范七|10大视觉规范(Visual Design)

    在iOS应用中,您可以配置界面元素和布局,以在iPad上执行多任务处理时,在拆分视图中,在屏幕旋转时以及在其他设备上自动更改形状和大小。设计一个适应性强的界面在任何环境下都提供出色的体验非常重要。...其他设备(例如iPhone SE和iPad Air)具有矩形显示屏。 如果您的应用在特定设备上运行,请确保该应用在该设备的所有屏幕尺寸上运行。...如果当有人以不受支持的方向握住设备时您的应用程序不会自动旋转,那么他们会本能地知道如何旋转设备。 根据上下文自定义APP对旋转的响应。...图稿在不同设备显示时,请注意宽高比的差异。不同的屏幕尺寸可能具有不同的宽高比,从而导致图稿出现被裁剪,出现字母框或竖框的现象。确保在所有尺寸的显示器上都保留重要的视觉内容。...屏幕底部出现一个全角按钮时,如果该按钮具有圆角并与安全区域的底部对齐,则该按钮最佳,这也确保了它与“Home”指示器不冲突。 ? 对于关键的显示功能,不要掩盖或特殊强调。

    8.1K30

    个人永久性免费-Excel催化剂功能第13波-一键生成自由报表

    Excel这张大画布真的是只缺用户的想像力,几乎在上面堆放什么都可以。 在没有代码辅助下,一切都是手工的活,灵活的代价就变得要花无数时间去做各样的重复性的调整,排版等无技术含量的工作。...文章出处说明 原文在简书上发表,再同步到Excel催化剂微信公众号或其他平台上,文章后续有修改和更新将在简书上操作, 其他平台不作同步修改更新,因此建议阅读其他出处的文章时,尽可能跳转回简书平台上查看。...ptag=qqbrowser 功能介绍 通过生成自由报表功能,可快速地把一份普通的Excel一维表数据(一行数据代表一个事件)快速转换成自己想要的组合单元的样式(数据重新组合,将原来的一行数据作为一个数据单元...8.自由报表按要求已生成 生成报表样式 打印报表 在生成报表后,保持窗体不关闭状态,再对报表进行一些参数设置,即可打印,打印出的报表较为关键的是当一组数据单元默认被分到两页时,插件会做修正工作,把不足位置打印的一行数据组将其移动到第二页中打印...,原生的打印按钮没有此功能。

    83320

    如何在 SwiftUI 中创建悬浮操作按钮

    以下是 Twitter 应用中悬浮操作按钮的示例。Twitter App 在最重要的操作步骤,发布推文时使用悬浮操作按钮。如下图,在右下角有一个蓝底中间有加号的按钮。...实现悬浮操作按钮可能有很多方法,下面是我要实现按钮的一些简单需求,如下:悬浮按钮应该出现在屏幕的主要内容前面。悬浮按钮位于屏幕的右下角。悬浮按钮具有圆角形状,并在中心具有一个图标。...悬浮按钮带有一个轻微的阴影。这是要实现悬浮按钮的所有行为。让我们逐步实现这些需求。在此之前,需要先创建并初始化一个屏幕用来承载这个悬浮按钮。...,是需要实现需求中的第一步,悬浮按钮应该出现在屏幕的主要内容前面。...将一个按钮放在内容视图上。这将在列表视图上添加一个加号图像按钮。示例运行截图如下:悬浮按钮位于屏幕的右下角接着,是需要实现需求中的第二步,使按钮与内容视图对齐到右下角。

    18832

    Material Design — 按钮( Buttons)

    三种标准按钮实例 选择按钮样式 选择按钮样式取决于按钮的优先级,屏幕上的组件数量和屏幕布局。...功能:非常重要+无处不在=悬浮响应按钮(Floating action button) 海拔:选择浮动还是平面按钮,具体取决于它所在的容器以及屏幕上有多少z轴空间图层。 屏幕上不应有太多层。...推荐的按钮放置 标准提示框 屏幕上的按钮对齐方式:右边 将肯定性按钮放在右侧,否定性的放在左边。 表单 屏幕上的按钮对齐:左边 将肯定性按钮放在左侧,否定性的放在右边。...卡片 按钮最好放在卡的左侧以增加其可见度。 但是,由于卡片具有灵活的布局,因此可以将按钮放置在适合内容和上下文的位置,同时保持产品内的一致性。...例如,当聚焦一个切换按钮时,焦点可能会同时显示组中的其他切换按钮。

    3.9K160

    Sketch 94 mac,草图94中文最新版支持M1,支持macOS Ventura 13

    修复了在 macOS Ventura Beta 上使用 Mac 应用程序时,检查器中的弹出按钮标签不会出现的问题。修复了将原型链接添加到非常大的组时可能发生的崩溃。...修复了在选择色调或调整颜色变量时可能发生的崩溃。修复了将形状转换为轮廓有时会在画布上稍微移动它或移除其旋转或翻转的错误。当您悬停或拖动线层的调整大小手柄时,您现在将看到一个工具提示及其长度。...如果在将鼠标悬停在手柄上时按住 ⌘ 键,您将看到线条的角度。我们修复了在插入或复制粘贴位图后关闭文档时会发生的内存泄漏。修复了无法通过拖动未填充区域来移动带有边框但没有填充的选定形状的问题。...修复了符号内的交互无法将其覆盖设置为“无”的问题。修复了颜色弹出框内的弹出按钮标签不会出现在 macOS Ventura Beta 中的问题。...修复了智能布局问题,当使用包含另一个符号且覆盖设置为“无符号”的符号实例时,将这些覆盖更改回符号将不尊重它们在包含的符号源中的位置。

    11K70

    做了七年前端开发,我最近才意识到可访问性的必要......

    考虑一个没有 h1 页面的场景,当屏幕阅读器读到这样的页面时,用户是无法获知标题的,而页面的标题通常是用表示。...—— 对于屏幕阅读器) 4 可访问图标按钮 首先,在设计中有按钮时,应使用元素,不要使用等其他元素,再将样式设置为按钮的样子,我知道我们这样做已经很久了,但是时候改变了。...这里也有一些注意事项: 不设置按钮样式以及设置按钮样式的理想方法 针对于没有任何文本、只有图片的按钮,可遵循以下三个步骤中的任何一个: 使用隐藏的来指明按钮标签 在上使用...因此,如果你删除了默认的焦点样式,那一定得添加自定义的焦点样式。...意思是,如果你将一个白色背景页上的绿色按钮,设置的焦点指示器样式为 2px 的黑色边框,那么黑色和绿色、以及黑色和白色之间的最小对比度应该是 3:1。

    1.7K30

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

    阅读 SwiftUI TextField 进阶 —— 格式与校验[14] 一文了解其他的验证手段,以及如何通过 onChange 实现近乎实时地限制输入字符的方法。...将背景扩展到安全区域Q:如果我有一个自定义的容器类型,可以接受一个顶部和底部的视图,是否有办法让 API 的调用者将所提供的视图的背景扩展到安全区域内,同时将内容( 如文本或按钮 )保留在安全区域内?...这个技巧对于处于屏幕的顶部或底部的视图十分有用。详情请参阅 推文[15] 。动画转场Q:为什么下面的代码没有显示动画转场。...这意味着我们不能使用 LazyVStack,或任何其他将选择与详细视图绑定的自定义视图。有扩展这个功能的计划吗?A:在 iOS 16.1 中,你可以在侧边栏里放一个。...当视图的结构过于复杂时,除了难以阅读外,还会出现无法使用代码自动补全以及上文提到的无法编译( too complex to type check )的情况。

    14.8K30

    【Java 进阶篇】深入了解 Bootstrap 全局 CSS 样式

    全局 CSS 样式是应用于整个网站或应用程序的样式,它们定义了基本的排版、颜色、间距、字体和其他外观特征。... 这些类可用于微调元素的边框和间距,使页面看起来更整洁。 响应式设计 Bootstrap 的全局 CSS 样式还包括响应式设计,这意味着页面会根据不同设备的屏幕尺寸自动适应布局。...Bootstrap 使用断点(breakpoint)来定义不同屏幕尺寸上的样式变化。 以下是一些常见的断点类: d-none、d-sm-none、d-md-none:用于在不同屏幕尺寸上隐藏元素。...示例代码: 在中等屏幕上显示,其他屏幕上隐藏。 创建一个弹性布局。... 这些响应式样式允许您根据不同设备上的屏幕尺寸自动调整元素的显示和排列方式,从而提供更好的用户体验。

    54420

    fyne

    Fyne 旨在为开发者提供一种简单、现代且一致的用户界面体验,支持在 Windows、macOS、Linux 和 移动设备(iOS/Android) 上运行。...Fyne 的特点 跨平台支持 Fyne 一次编写即可在多个平台运行,支持 Windows、macOS、Linux 以及 iOS 和 Android,真正实现了“Write Once, Run Anywhere...现代化 UI 设计 支持响应式布局、主题切换和自适应屏幕大小,保证在不同设备上的一致体验。...运行应用 将上述代码保存为 main.go,然后在终端中运行: 1 go run main.go 你将看到一个简单的窗口,点击按钮时标签文字会发生变化。...响应式布局 Fyne 支持自动适配屏幕尺寸的响应式布局。在移动设备上,界面控件会自动调整大小和位置,以提供最佳的用户体验。 2. 主题和样式 Fyne 提供默认的主题样式,并支持自定义主题。

    7700

    Android 手表应用开发设计规范 【译】

    其他UI特性 •设备上默认显示的是主屏幕:   •背景信息:展示与首张卡片相关的内容或显示用户自定义的表盘。轻触背景或者说 “OK,Google” 来进行语音搜索。  ...用户可通过长按当前表盘来选择自定义表盘设计。 •某些设备会在用户无交互时进入低功耗的省电模式( Ambient Mode) 该模式下屏幕通常会自动调暗亮度。...这时可以考虑在屏幕无响应一段时间以后自动删除隐私信息显示,或者在进入省电模式时根本不显示隐私信息。...为 OLED 屏幕设备设计时,应考虑电池使用效率及屏幕老化现象。当OLED屏设备处于省电模式时,系统会定期将屏幕内容的位置移动几像素以防止屏幕像素老化。...通过不同的场景和数据类型来验证你的想法。在最终编码之前,先在实际的手表屏幕上测试一下设计方案。 设计可交互的表盘   在确保无其他元素响应冲突的情况下,表盘可以响应用户单击手势。

    4.1K70

    解析 SwiftUI 中两处由状态更新滞后引发的严重 Bug

    众所周知,SwiftUI 是一个响应式框架,这意味着,当数据源发生变化时,框架会自动更新视图。同样,当我们想调整视图显示时,应直接对状态进行修改。...但是,SwiftUI 中的一些系统控件并没有完全遵循响应式的设计原则,由此在某些情况下会出现严重的错误,影响用户体验,并使开发者无所适从。...本文将解析 SwiftUI 中两个由于未能贯彻响应式编程原则而导致的严重错误,并提供相应的解决方案。...Back 按钮将消失,但视图并没有返回根视图图片如果我告诉你,上述情况正是由前文提到的状态更新滞后所导致,那么你该如何避免这个问题呢?...通过自定义返回按钮以及扩展 UINavigationController 的方式,实现了在禁用 Back 按钮后仍支持手势返回,并先修改状态后再进行视图响应。

    761110
    领券