2012-02-03 10 views
1

3つの検索ボックスが必要なアプリを作成しています。私はそれらを標準的な検索バーのように見せて、1つの要素のように見せたい(つまり、3つの検索バーを積み重ねると、それぞれと勾配の間に区切りがあり、別々の要素のように見える)。iOS複数の検索ボックス

私はこれと一緒に行って、背景レイヤーを削除するためにthisのようなものを使用するか、ビューボックスに3つのテキストフィールドを使用する必要があります。

ありがとうございました。

答えて

1

3つの通常のUISearchBarsを積み重ねて使用し、背景にUIImageViewを配置します。

次に、あなたのコントローラのコードでは、あなたのviewDidLoadメソッドでは、各検索バーのためにこれを行う:

//remove the background image view of the searchbar, but leave the textfield 
[[searchBar.subviews objectAtIndex:0] removeFromSuperview]; 

、これはiOSの4およびそれ以前に正常に動作し、私はそれがうまくiOS5を上罰金だと思いますAppleはこれまでUISearchBarの内部を変更した場合、将来の校正のために、あなたが実際に代わりにこれを実行することもできますので、それは、少し安全ではありません:

if ([UISearchBar instancesRespondToSelector:@selector(setBackgroundImage:)]) 
{ 
    //iOS 5 and later 
    searchBar.backgroundImage = [UIImage imageNamed:@"transparent.png"]; 
} 
else 
{ 
    //iOS 4 and earlier 
    [[searchBar.subviews objectAtIndex:0] removeFromSuperview]; 
} 

それからちょうどあなたのプロジェクトにシングル・ピクセルtransparent.pngを追加iOS5の検索バーの背景として使用するバーを埋めるためにトレッチ)。

関連する問題