自定义菜单作为子视图

Posted

技术标签:

【中文标题】自定义菜单作为子视图【英文标题】:Custom menu as subviews 【发布时间】:2017-01-14 09:40:36 【问题描述】:

我希望构建一个具有 3 个级别的自定义菜单。当点击菜单图标时,第一级将扩展为子视图,并且正好是父视图宽度的 1/3。点击一个菜单项将再次展开第二个菜单级别,正好是超级视图宽度的 1/3。你猜对了,在这里点击一个菜单项将展开第三个也是最后一个子视图。

我的问题确实是如何最好地处理这个问题,就架构和视图层次而言。

每个菜单级别都有自己的视图控制器,当添加子视图时,我只需调用menulevelviewcontroller.view

我想我只是好奇是否有更好的方法来做这件事,更适合这种事情,或者对其他人如何处理这个问题有任何建议。

提前致谢。

【问题讨论】:

【参考方案1】:

在我看来,您只需要一个UIViewController 和三个UIView 子类(菜单级别)。这种方法将帮助您为不同的菜单级别设置动画并在一个控制器中处理所有菜单事件。与更灵活和复杂的解决方案不同,这种方法可以帮助您节省大量时间。

【讨论】:

但是我可以在 Storyboard 中这样做吗?我认为我不能在 Storyboard 中添加不在 ViewController 中的 UIView? 如果您想添加有限数量的级别,您可以添加所需的子视图成本并为其显示设置动画。

以上是关于自定义菜单作为子视图的主要内容,如果未能解决你的问题,请参考以下文章

TouchesBegan 没有在 UIView 中作为 UITableViewCell 的子视图触发

具有自定义视图的 NSMenuItem 不接收鼠标事件

MFC Windows 菜单,自定义

Wordpress - 从自定义帖子类型中删除子菜单

Tableview 上下文菜单:从行到预览视图控制器的自定义动画

怎么获得微信公众号(订阅号)自定义菜单接口权限?