1

我在为我正在构建的应用程序实施设计时遇到了一些麻烦。该设计显示了一个 UIActionSheet 菜单,顶部有一个搜索栏。当有人在搜索栏中输入文本时,菜单消失并被包含搜索结果的表格视图所取代。(搜索结果的显示方式与您在主屏幕上一直向左滑动以在 iPhone / iPod 上搜索时类似)

这基本上是我想要实现的目标:

在此处输入图像描述

这是我的代码:

// build menu
UIActionSheet* menu = [[UIActionSheet alloc] initWithTitle:@""
                      delegate:self
                      cancelButtonTitle:@"Cancel"
                      destructiveButtonTitle:nil
                      otherButtonTitles:@"Button 1",@"Button 2",@"Button 3",nil];

[menu showInView:self.view];

UISearchBar *searcher = [[UISearchBar alloc] initWithFrame: CGRectMake (0, -216, 320, 44)];
searcher.delegate = self;

// use transparent background  
[[searcher.subviews objectAtIndex:0] removeFromSuperview];

[menu addSubview:searcher];

当我运行它时,就好像搜索栏被禁用了。您无法单击它或打开键盘。如果我将搜索栏的垂直位置从 -216 更改为 0,我可以单击它并调出键盘,但我无法输入任何内容。

我对如何实现这一点有点困惑。有任何想法吗?我将 Xcode 4.4 与 ARC 和情节提要一起使用。

4

1 回答 1

2

这就是UIActionSheet对象的工作方式。而是做其他事情,例如向上滑动UIView.

来自 Apple iOS 人机界面指南:

使用操作表来:

  • 提供完成任务的替代方法。操作表允许您提供一系列在当前任务的上下文中有意义的选择,而无需在用户界面中永久放置这些选择。

  • 在完成潜在危险任务之前获得确认。操作表会提示用户考虑他们将要采取的步骤的潜在危险影响,并为他们提供一些替代方案。这种类型的通信在基于 iOS 的设备上尤为重要,因为有时用户会无意中点击控件。

于 2012-07-30T19:34:27.877 回答