标签:VBA,用户界面 本文接上篇文章: 在Excel中自定义上下文菜单(上) 使用RibbonX将控件添加到单元格上下文菜单 在下面的示例中,将创建与上文描述的示例相同的按钮和子菜单,但使用RibbonX...3.在Custom UI Editor中打开这个工作簿。 4.单击菜单“插入——Office 2010+定制UI”。...7.在Excel中打开该工作簿。...10.选择该上下文菜单中添加的自定义选项,查看其对单元格文本的影响。...下面是在单元格上下文菜单中创建动态菜单的RibbonX XML。
标签:VBA,用户界面 本文接上两篇文章: 在Excel中自定义上下文菜单(上) 在Excel中自定义上下文菜单(中) 上下文菜单技术和技巧 下面的内容展示了如何修改本文中提供的代码,以使过程更具灵活性...在本文开头的VBA示例中,你看到了如何通过使用工作簿的Activate和Deactivate事件调用宏来创建和删除菜单控件,从而来更改单元格上下文菜单。...小结 在Excel 97至Excel 2003中,可以使用VBA代码将控件添加到每个上下文菜单中,但无法使用RibbonX更改上下文菜单。...在Excel 2007中,可以使用VBA代码将控件添加到几乎每个上下文菜单中。但是,无法使用VBA更改某些上下文菜单,例如形状和图片的上下文菜单。此外,无法使用RibbonX更改上下文菜单。...在Excel 2010及后续版本中,可以使用VBA代码将控件添加到几乎每个上下文菜单中。使用VBA更改某些上下文菜单的限制与Excel 2007中相同。
在Microsoft Office中,上下文菜单提供了一组在应用程序的当前状态或上下文中可用的有限选项。通常,可用的选择是与选定对象(如单元格或列)相关的操作。...Excel中的上下文菜单 在Microsoft Excel中,人们最常用的上下文菜单是单元格上下文菜单,这是在工作表单元格或选定单元格上单击鼠标右键时看到的菜单(如下图1所示)。...图1 在Excel中自定义上下文菜单 在Excel 2007以前的版本中自定义上下文菜单的唯一方法是使用VBA代码,然而,在Excel 2007后续版本中,还可以使用相同的功能区扩展性(RibbonX)...注意,Excel中有两个单元格上下文菜单,一个是标准菜单,另一个是在分页预览模式下的菜单。分页预览模式显示每页上显示的数据,并使用户能够快速调整打印区域和分页符。...要自定义单元格上下文菜单,按Alt+F11打开VBE,单击菜单“插入——模块”。在模块中粘贴或键入下面6个过程。第一个过程将控件添加到单元格上下文菜单中,第二个过程从单元格上下文菜单中删除控件。
标签:VBA,用户界面 前面3天,连续发表了: 在Excel中自定义上下文菜单(上) 在Excel中自定义上下文菜单(中) 在Excel中自定义上下文菜单(下) 分别详细讲解了使用VBA代码将控件添加到单元格上下文菜单...、使用RibbonX将控件添加到单元格上下文菜单、使用VBA代码或RibbonX将动态菜单添加到单元格上下文菜单,并给出了详细的步骤和代码及说明。...在文章的最后,还介绍了几个上下文菜单技术和技巧,包含为不同的用户创建不同的菜单、自动识别用户使用的语言从而设置菜单标题、找到上下文菜单名称等,你可以灵活使用这些技术,比如为不同的工作表创建不同的上下文菜单
结合两年来我在SwiftUI中使用Core Data的经验和教训,我们将在本文中探讨: •导致SwiftUI预览崩溃的部分原因•如何在之后的开发中避免类似的崩溃出现•如何在Xcode中安全可靠地预览含有...预览在Xcode中的工作原理同标准的模拟器十分接近。但为了让它可以即时响应SwiftUI视图的变化,苹果对其做出了不少的修改。...预览模拟器不支持控制台输出显示、不支持断点调试,即使在动态预览模式下(支持交互的预览模式),我们也不会在Xcode中获得任何代码中的控制台输出内容。因此在预览发生问题时,用于排查故障的手段很有限。...由于前文中提到的SwiftUI App life cycle的独特性,你无法在根视图中使用单例来注入持久化上下文。...SwiftUI通常采用Redux的开发模式,通过将获取到的Core Data数据转换成标准的Swift结构从而避免在视图中使用托管对象上下文或托管对象。
在 2023 年 6 月 6 日的 WWDC 23 上 Apple 推出了 Xcode 15,相比较 Xcode 14,它有如下变化。...Archive.png 功能 Assets 中的创建的Image Set与Color Set可以生成类型安全的标识符,在程序中可以.标识符的形式访问。...一样进行实时预览。...} 增加 Documentation Preview,文档也支持预览。...image.png 代码支持添加 Bookmark,在某一行代码或者选中多行代码后右击,可以看到相应的添加菜单。可以在 Bookmark navigator 中查看添加的所有 Bookmark。
- **智能代码补全**:AI可以根据上下文智能补全代码,提高编写代码的速度和准确性。### 2....在 SwiftUI 中,所有视图都必须符合 `View` 协议。### 3....- `cornerRadius(8)`:设置按钮的圆角效果。- `.disabled(isLoggingIn)`:在登录过程中禁用按钮,防止重复点击。### 9....的预览结构,`LoginView_Previews` 用于在 Xcode 的预览窗口中显示 `LoginView` 视图,方便开发者在编写代码时实时预览 UI 效果。...`PreviewProvider`- **功能**:`PreviewProvider` 是 SwiftUI 中的一个协议,用于为 Xcode 的预览窗口提供视图。
本文将为你揭开这个 SwiftUI 布局机制中微妙 API 的面纱。...近期推荐 为上下文菜单加点料 (Accessorise Your Context Menu Interactions)[5] 在 iOS 信息应用中,用户点击消息后会弹出一个包含多种表情的辅助视图,其精巧的设计和自然的展开动画令人印象深刻...Aether[8]基于该研究开发了 MenuWithAView[9],使 SwiftUI 开发者也能轻松为上下文菜单添加自定义辅助视图。...小提示:Robb 为每个 Modifier 都提供了代码预览,不仅便于理解和使用,也是一份出色的 SwiftUI 布局教学资源。...utm_source=fatbobman%20weekly%20issue%2084&utm_medium=web [5] 为上下文菜单加点料 (Accessorise Your Context Menu
,同时增加了菜单 Notifications。...增加#Playground宏,可以像#Preview一样预览非 UI 代码的运行结果,甚至可以像 Debug 模式一样查看中间变量的值。...String Catalog进一步增强,在每个 Key 的下方增加了一个可以修改的符号,这些符号可以在代码中自动补全,同时可以自动生成描述字符串上下文的注释。...,通过从屏幕顶部向下滑动调出,支持添加自定义菜单。...通过引入 UIHonstingSceneDelegate,UIKit 可以启动 SwiftUI 场景,包括 visionOS 上的沉浸式体验。同时也可以通过编程的方式打开 SwiftUI 场景。
尽管它来自 Android,但在一些 iOS 应用中也可以看到这种模式。以下是 Twitter 应用中悬浮操作按钮的示例。Twitter App 在最重要的操作步骤,发布推文时使用悬浮操作按钮。...如下图,在右下角有一个蓝底中间有加号的按钮。下面我们就来详细介绍一下还如何实现这个悬浮按钮需求。创建悬浮操作按钮如何 SwiftUI 创建一个类似 Twitter App 中的悬浮按钮。...并在菜单栏中添加了 Home 按钮和图标,核心代码如下:struct ContentView: View { var body: some View { TabView {...示例运行截图如下:使悬浮按钮呈现圆形接着,是需要实现需求中的第三步,使悬浮按钮具有圆角形状,并在中心具有一个图标。目前的情况位置是正确的,但外观还不符合要求。...SwiftUI 中创建悬浮操作按钮所需的全部步骤。
,同时增加了菜单 Notifications。...增加#Playground宏,可以像#Preview一样预览非 UI 代码的运行结果,甚至可以像 Debug 模式一样查看中间变量的值。...String Catalog进一步增强,在每个 Key 的下方增加了一个可以修改的符号,这些符号可以在代码中自动补全,同时可以自动生成描述字符串上下文的注释。...iPadOS 中的 UISplitViewController 支持 3 列显示。 iPadOS App 默认拥有类似 macOS 风格的菜单栏,通过从屏幕顶部向下滑动调出,支持添加自定义菜单。...通过引入 UIHonstingSceneDelegate,UIKit 可以启动 SwiftUI 场景,包括 visionOS 上的沉浸式体验。同时也可以通过编程的方式打开 SwiftUI 场景。
A:看一下上下文菜单修饰器( contextMenu )的 primaryAction 参数。该 API 也有一个 forSelectionType 参数,支持多选。...在 SwiftUI 4.0 中,contextMenu 的功能获得了不小的提高。例如一个上下文菜单中可以有多个选项、支持 primaryAction、以及可定制预览视图。...WindowGroup 和 OpenWindowActionQ:在 macOS 上是否可以在创建新窗口时附加参数?我在同一个子上下文中创建一个新的托管对象,并希望将这个对象发送到一个新的窗口。...目前我的做法是在一个单例中保存对子上下文和托管对象的引用,然后用一个 URL 打开一个新窗口,这个 URL 在单例中检查上下文和托管对象。如果我们能用自定义参数启动新窗口,那就更好了。...请注意,你的数据需要是可选的,或者指定一个默认值,因为在某些情况下,框架自身也会创建窗口( 例如,当选择新窗口菜单项 )。
系列文章 如何在 SwiftUI 中创建条形图 SwiftUI 中的水平条形图 在 iOS 16 中用 SwiftUI Charts 创建一个折线图 在 iOS16 中用 SwiftUI 图表定制一个线图...在 Swift 图表中使用 Foudation 库中的测量类型 开始图表布局 SwiftUI 对探索不同布局和预览实时视图结果是很友好的。...数据中的最大值得到后并传递给每个 BarView。主图表区域保持原来的圆角矩形,并以水平堆叠的方式叠加一系列条形,每个 DataItem 一个。...SwiftUI 中组合矩形来创建条形图是比较容易的。...SwiftUI 是一个很好的平台,用于创建视图和快速重构独立的子视图。在 SwiftUI 中构建条形图需要做一些工作,随着使用数据来试用条形图,可以确定更多的定制化。
SwiftUI 集众家之长,具有诸多优秀特性,可以预见它将会出现在诸多应用程序中。若你有兴趣,我会在其它文章中详解 SwiftUI,本文只着重讲其中弹窗的写法与逻辑。 你会怎样描述一个程序?...下图就是它们在 Xcode 中的预设。 ?...纵向排列的 View 在 SwiftUI 里叫做 VStack,它用一个花括号 {包住里面的内容};而文字的 View 在 SwiftUI 里叫做 Text。...对了,正是这样,这段代码中包含三个针对 VStack 的修改器,分别是正文设置为白色 .foregroundColor(Color.white),四周加边距 .padding(),和显示点按菜单.contextMenu...若你想仔细的学习 SwiftUI 和苹果或安卓应用程序开发,欢迎在文末写下你想学习的内容,我会参考写文。
在衍生代码中,Xcode 使用 @_dynamicReplacement 为多个函数提供了替代方法。在预览时,以替代后的 __preview__previews 方法作为预览入口。...在该方法中,大概率进行了定义预览相关的环境设置、设置预览初始状态等操作。最后,再创建了几个专门用于预览的进程。...通过 XPC 在预览进程与 Xcode 之间进行通信,最终实现了在 Xcode 中预览特定视图的目的。...但是,这也可能导致无法正常编译的情况发生(例如本文中的例子) 预览是以预览衍生文件作为入口的,开发者必须在预览代码中为预览视图提供足够的上下文信息( 例如注入所需的环境对象 ) 总的来说,Xcode 预览功能虽然在视图开发流程中极为方便...开发者使用预览时需要清醒地认识到其局限性,并避免在预览中实现超出其能力范围的功能。 接下来 在本文中,我们探讨了 Xcode 预览功能的实现原理,并指出其存在一定局限性。
Table 中上下文菜单Q:如果我在 TABLE 上添加了一个上下文菜单,我如何确定哪一行导致了菜单的显示(无需选择该行)?...在 SwiftUI 布局 —— 尺寸( 上 )[8] 一文中,对建议尺寸的几种模式都进行了介绍。如何减少主线程的负担Q:如何避免所有操作都被放置在主线上?...其中 2 个是自定义形状( 基本上是圆角矩形,只有两个角是圆的 ),其中一个是矩形。编译器抛出一个错误,说它花了太多时间来检查视图的类型。...在 Cell 视图中,通过创建 request 从私有上下文中提取数据并转换成图片。另外,可以考虑为原始图片创建缩略图,进一步提高显示的效率。...在 SwiftUI 中,有一个从第一版开始就存在但尚未公开的纯 SwiftUI 实现的滚动容器 —— _ScrollView 。
好在苹果提供了一年的缓冲期——在 Xcode 26 中,开发者仍可选择关闭 Liquid Glass。...使用 ShareLink 在 SwiftUI 中分享内容 (Sharing Content in SwiftUI with ShareLink)[12] ShareLink是 SwiftUI 中对系统分享面板...Itsuki[17]在本文中深入探索了如何在 SwiftUI 中应用 Liquid Glass,包括基础用法、视图间的融合与变形动画、分组控制与动画路径调整等进阶技巧,并针对 Beta 版本中的已知 Bug...llm.codes 抓取后的文档不仅结构清晰,还能直接作为上下文输入给 AI 使用,极大提升了代码生成的准确性。...支持在列表中重排或跨区块移动 ↔️ 支持多选;水平、垂直滚动方向 支持自定义拖拽预览、圆角和触觉反馈 同时适用于平铺与分区结构 Swift Binary Parsing:构建安全高效的二进制解析器[
由于最终我们需要在视图中使用 AnyConvertibleValueObservableObject( 托管对象 ),因此数据的获取过程必须是在主线程上下文中进行的( 数据绑定的上下文是 ViewContext...通过新创建一个可以使用 Mock 数据的 FetchRequest ,实现了 SwiftUI 与 Core Data —— 问题[6] 一文中提出的可测试、可预览、可模块化的目标。...在 SwiftUI 中,ForEach 会根据数据标识( Identifier )自动处理视图的添加、删除等操作,因此,当在 SwiftUI 中使用 NSFetchedResultsController...不可在 update 方法中同步地改变引发视图更新的数据与 SwiftUI 在视图中更新 Source of truth 的逻辑一致,在一个视图更新周期中,不能对 Source of truth 再度更新...image-20221203183414864当应用运行于托管环境时,仅需提供正确的视图上下文,并将 dataSource 中的属性值修改成 fetchRequest 即可。
如果我们对 Core Data 说“这不是必须的”(您可以在模型编辑器中完成),它仍然会生成可选的 Swift 属性,因为所有 Core Data 关心的是属性在保存时具有值——在其他时间它们可以为 nil...我们无法在代码中看到该类,因为它是在构建项目时自动生成的,就像 Core ML 的模型一样。...更好的是,它已经将其添加到 SwiftUI 环境中,这就是@FetchRequest属性包装器起作用的原因——它使用了环境中可用的任何托管对象上下文。...这需要附加到托管对象上下文中,以便对象知道应将其存储在何处。然后,我们可以像通常为结构体那样分配值。...PS: 如果预览报错,那么请跑模拟器 译自 How to combine Core Data and SwiftUI[1] 参考资料 [1] How to combine Core Data and SwiftUI
SwiftUI 中,Button 默认的交互行为是在松开按钮的同时执行 Button 指定的操作。...而 TapGesture 在不松开手指的情况下,如果移动到可点击区域外,SwiftUI 将不会调用 onEnded 闭包中的操作。....buttonStyle(.borderedProminent) .buttonStyle(.borderless)}.buttonStyle(.plain)某些按钮样式在不同的上下文中的行为和外观会有较大差别...不再调用其指定的闭包操作,附加手势需在 Button 之外添加( 例如下文的 simultaneousGesture 实现 )为按钮添加 Trigger在 SwiftUI 中,为了判断某个按钮是否被按下...希望在未来的版本中,SwiftUI 可以为开发者提供更加强大的自定义组件能力。希望本文能够对你有所帮助。