gpt4 book ai didi

ios - UISplitViewController 中的 ActionSheet 在纵向模式下的行为不同于横向模式

转载 作者:可可西里 更新时间:2023-11-01 04:44:46 27 4
gpt4 key购买 nike

我使用基于 Split View的应用程序模板创建了一个新应用程序。

然后我向名为 actionButton 的 rootViewController 导航 Controller 添加了一个 Action 按钮。

当按下按钮时,我会显示一个像这样的 ActionSheet:

UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil 
delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil
otherButtonTitles:@"Admin Functions", @"Refresh Data", nil];
[actionSheet showFromBarButtonItem:actionButton animated:YES];
[actionSheet release];

在横向模式下按下按钮后,它会在指向按钮的弹出窗口中显示操作表(如我所料):

Landscape Mode

然而,在纵向模式下,它看起来完全不同,菜单从 rootViewController 弹出窗口的底部出现,就像在 iPhone 上一样:

Portrait Mode

我的问题是,如何使 ActionSheet 在纵向模式下显示在顶部,就像在横向模式下一样?

因为这是一个“实用菜单”,它并不直接与显示的数据相关联,所以它不应该是弹出窗口的一部分。

最佳答案

此行为是设计使然,如果它是纵向模式下的弹出窗口,那么您将拥有 2 级弹出窗口。

这在技术上是可行的,方法是实现您自己的 UIPopover 版本或使用某人已经编写的版本 (WEPopover)。

但是,这是一个糟糕的设计选择。您说这些功能与数据无关,但是其中一个是“刷新数据”。我会将操作按钮替换为刷新图标,例如 Apple 在“查找我的 friend ”中使用的图标:

Refresh Button

另一个“管理功能”,如果与列表中的数据没有直接关系,可能需要一个新家,也许需要您应用程序的主视图?在不了解更多结构的情况下,很难说把它放在哪里最好。

关于ios - UISplitViewController 中的 ActionSheet 在纵向模式下的行为不同于横向模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7620972/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com