如何设计菜单类View IOS?

Posted

技术标签:

【中文标题】如何设计菜单类View IOS?【英文标题】:How to design menu kind of View IOS? 【发布时间】:2013-01-22 10:30:59 【问题描述】:

我需要设计一个视图,我想在其中创建一个子视图,它应该像 android 中的菜单一样显示,当我们在 Android 手机中单击菜单按钮时,会弹出一个垂直视图(占据其父视图的一部分)它会得到关注..我需要在 ios 中设计相同的东西。我是否需要创建一个视图并添加为子视图,或者除此之外我们还能做什么?请为此建议我一些想法..

谢谢。

【问题讨论】:

不要试图让 ios 应用看起来像 android 应用。 UIPopoverController 也可能是你想要的 @xlc0212 你是对的.. 我们能做什么?设计不在我手中? :) UIPopover 仅适用于 iPad。 取决于菜单的预期用途。我建议您查看 Apple 的 Pages 应用程序。使用 UIPopoverController 结合 UINavigationController + UITableViewController 可以做得很好 TableView 可以执行列表并在触摸单个行时将您带到另一个视图以执行其他操作(编辑/查看/等)。 【参考方案1】:

在你的顶视图上添加一个半透明的 UIView,你可以在上面放置/设计你想要的组件,用户与它下面的任何东西的交互都将不可用,你将创建菜单印象,因为用户将能够看到下面的视图,即使它会灰显且不可用,直到您删除/隐藏覆盖视图。

【讨论】:

使用这种方法,请务必在菜单后面添加任何其他视图。如果您异步创建视图,就会发生这种情况。 @vlad 我明白了你的意思,但我想知道,为什么苹果没有为这类事情提供任何特别的东西,正如上面提到的人们提到的 iPad 他们提供了 UIPopover 但没有提供给其他设备,我们需要只用 UIView 做所有事情???? Apple 通过 UIActionSheet 提供此功能。大多数(如果不是全部)使用菜单完成的功能都使用 UIActionSheet,据我所知,它是唯一可用的选项。但是,这仅适用于您希望为菜单实现标准 UI 的情况。如果你想要更自定义的东西,你必须编写自己的 UI 控件,就像我上面建议的方法一样。 @Vlad UIActionSheet 我在可能的地方使用过,我期待所有设备都可以使用 UIPopover 之类的东西...无论如何感谢您的快速回复。【参考方案2】:

在 iOS 13 和 iOS 14 中添加了对菜单的支持。请参阅 UIMenu。

【讨论】:

以上是关于如何设计菜单类View IOS?的主要内容,如果未能解决你的问题,请参考以下文章

Android 自定义View绘制汉堡菜单

如何做好IOS View的布局

iOS 如何理解Semantic选项

如何在 Rider 中设置 Xamarin.ios 视图的属性? (如何更新自动生成的 View.designer.cs?)

如何让 iOS VoiceOver 整体读取 View 和 subview

如何从 UIView 推送 UIViewController