java隐藏菜单_如何使用自定义视图隐藏菜单项?

本文探讨了在Java中使用自定义视图的NSMenuItem在尝试通过调用`setHidden:YES`进行隐藏时遇到的问题。更新中提到了即使在Interface Builder中设置隐藏属性,菜单项依然可见。通过尝试修改Apple的MenuItemView示例代码,作者发现可能需要通过移除和重新添加菜单项来实现隐藏,而不是简单地设置视图为nil。
摘要由CSDN通过智能技术生成

我在NSMenuItem中使用一个非常简单的自定义视图(仅包含只读NSTextField和NSSegmentedControl)(使用 -setView: 方法) . 这部分按预期工作 .

这是问题所在:在 -menuNeedsUpdate: NSMenu委托方法中,我有条件地隐藏了菜单项 . 当我调用 [item setHidden:YES] 时,带有自定义视图的菜单项不会't hide, but other '香草'菜单项 .

我的自定义视图是在自己的XIB中构建的,我通过自定义的NSViewController访问它 .

Update

即使我在Interface Builder中选中隐藏复选框,菜单项仍然可见,并删除它隐藏在代码中的行 .

Update 2

我还尝试在菜单项上设置 hidden 之前和之后在自定义视图上设置 hidden . 结果就好像菜单项没有隐藏,但视图是;视图's controls aren' t可见,但它们应该存在差距 .

Update 3

我修改了Apple的MenuItemView示例代码,以便在添加之后隐藏其中一个菜单项(在第87行插入 [menuItem setHidden:YES]; ),它与我的代码具有相同的效果(也就是说,没有) .

我开始认为隐藏此菜单项的唯一方法是将其视图设置为 nil ,当我需要隐藏它并在需要显示时将其放回去,但似乎不应该是必要的 .

Update 4

使用Mike的答案,下面是我正在使用的代码:

// Declared in the header file

IBOutlet NSMenuItem *previousMenuItem;

IB

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值