2012-07-30 49 views
1

我在为构建的应用程序实施设计时遇到了一些麻烦。该设计在顶部显示一个带有搜索栏的UIActionSheet菜单。当有人在文本中输入搜索栏时,菜单消失并被包含搜索结果的表格视图替换。 (类似的风格,当你离开你的主屏幕上一路滑到搜索结果中显示搜索在您的iPhone/iPod)的将UISearchBar添加到iOS应用程序的UIActionSheet中

这里的基本上就是我试图拉断:

enter image description here

这里是我的代码:

// 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和故事板。

回答

2

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

从苹果iOS人机界面指南:

使用的动作片:

  • 提供替代方式,可将任务完成。您可以在 操作表中提供一系列在当前任务环境下有意义的选择,而不会将这些选择作为用户界面的永久位置。

  • 在完成潜在的 危险任务之前获得确认。操作表会提示用户考虑他们即将采取的步骤可能带来的潜在危险影响,并提供 替代方案。这种类型的沟通是 在基于iOS的设备上特别重要,因为有时用户 点击控制没有意义。

+0

我只是表明,从人机界面指南位客户与他们的移动搜索栏在应用另一个地方。 ;) 谢谢 – unsunghero 2012-09-17 15:20:19