1

検索バー付きの TableView があります。しかし、TableView に別のビュー (ラベルとしましょう) を追加したい (そのため、tableview でスクロールします)。たとえば、iPhone の電話連絡先アプリケーションを開くと、[すべての番号] の下に「マイ ナンバー:」というラベルが表示されます。検索バーと同じ階層レベルにある必要があります。検索バーのすぐ上に新しいラベルを追加しようとしましたが、ストーリーボードではそれができません。

ViewController のドキュメント概要のスクリーンショット

ここで UILabel をこの階層にドラッグ アンド ドロップすると、上部の検索バーが置き換えられるか、ラベルがプロトタイプ セル内にドロップされます。検索バーとラベルの両方を一度に表示する方法は他にありません。

これを行う方法はありますか?

4

2 に答える 2

1

View Controllerのビューの外側(または内側、それは問題ではありません。プログラムで作成することもできます)に別のビューを作成し、IBOutlet myCustomViewにリンクします。IBOutlet searchBar を作成し、UISearchBar をリンクします

ビューでDidLoad; [searchBar addSubView:myCustomView]; を使用できます。カスタム ビューを検索バーの上に追加します。

必要に応じて、カスタム ビューを表示/非表示 (myCustomView.hidden = YES / NO) したり、スーパービューに追加および削除したりできます。

元。

- (IBAction)didTapShowCustomHeaderButton {
    myCustomView.hidden = NO;
}

- (IBAction)didTapHideCustomHeaderButton {
    myCustomView.hidden = YES;
}
于 2012-11-19T10:02:33.547 に答える
0

以下の 2 つのデリゲートをコードに追加します

 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
    {

     UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake(10, 10, 100, 30)] autorelease];
      label.text = @"My Label";
    label.backgroundColor = [UIColor clearColor];

      return label;   

     }   

-(CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section{
        return 30 // this height should be equivalent to the myLabel height u declared in headerView above
        }
于 2012-11-09T09:58:59.283 に答える