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 に変更すると、クリックしてキーボードを表示できますが、何も入力できません。

これをどのように実装できるかについて少し混乱しています。何か案は?ARCとストーリーボードでXcode 4.4を使用しています。

4

1 に答える 1

2

UIActionSheetそれがオブジェクトの仕組みです。を上にスライドするなど、代わりに別の操作を行いますUIView

Apple iOS ヒューマン インターフェイス ガイドラインから:

アクション シートを使用して、次のことを行います。

  • タスクを完了するための代替方法を提供します。アクション シートを使用すると、現在のタスクのコンテキストで意味のあるさまざまな選択肢を提供できますが、これらの選択肢をユーザー インターフェイスに永続的に配置する必要はありません。

  • 潜在的に危険なタスクを完了する前に、確認を受けてください。アクション シートは、ユーザーが実行しようとしているステップの潜在的に危険な影響について考えるよう促し、いくつかの代替案を提示します。このタイプの通信は、iOS ベースのデバイスでは特に重要です。ユーザーは意図せずにコントロールをタップすることがあるためです。

于 2012-07-30T19:34:27.877 に答える