您当前的位置: 首页 >  ui

SwiftUI上下文菜单(Context Menu)内容不随对象状态刷新的解决

发布时间:2022-05-23 09:58:08 ,浏览量:0

在这里插入图片描述

问题现象

在SwiftUI中,有时我们需要根据对象的状态,动态更改视图上下文菜单的内容:

在这里插入图片描述

如上图所示,我们在对象被收藏时更新了上下文菜单的显示内容。

但在默认情况下,上下文菜单不像SwiftUI普通视图那样可以自动刷新以反映对象状态的变化。

那么,上面是如何实现的呢?

别急,让我们马上进入正题。

Let‘s Go!!!

问题分析 1. 强制SwiftUI视图刷新

在SwiftUI中,我们一般都会让状态去驱动视图界面的刷新。

不过,有些情况下,我们需要手动强制刷新视图的显示。一般来说,我们可以通过更改视图的相等性来完成这个目的。

在SwiftUI中,每个视图都有一个用来比较相等性的id值(必须遵守Hashable协议),我们可以通过id(_)修改器方法来设置它。

func id<
关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    108180博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0721s