2009-10-13 9 views
5

alt text http://img210.imageshack.us/img210/5992/searchdisplaycontroller.pngカスタマイズUISearchDisplayController

は、カスタマイズ可能な次のオブジェクトはありますか?

1 UISearchBarスコープボタン(UISegmentedController)

2 UIResultsTableView

3 Iは、カスタマイズすることができたキーボード(少なくともそれが黒色です)

+0

これは何を生成するために使用していますか? – JoePasq

+0

私はコードを使用しています。私はすべてのものをカスタマイズすることができたので、皆さんに助けてくれてありがとうございました。しかし、質問を削除することはできませんでした。 – Mark

答えて

1

次のコードを使用してテーブルビューを作成します。

- (void)searchDisplayController:(UISearchDisplayController *)controller willShowSearchResultsTableView:(UITableView *)tableView { 
tableView.backgroundColor = [UIColor colorWithRed:(19.0/255.0) green:(19.0/255.0) blue:(19.0/255.0) alpha:1.0]; 
tableView.separatorColor = [UIColor blackColor]; } 

キャンセルボタンをタッチすると、インタフェースが白く点滅して元のテーブルビューに戻ります。どのようにこれを修正することができますか?

+0

ImageShackが画像を削除して広告に置き換えたため、あなたの投稿から画像を削除する必要がありました。詳細については、http://meta.stackexchange.com/q/263771/215468を参照してください。可能であれば、それらを再アップロードすることは素晴らしいことです。ありがとう! – Undo

3

alt text http://img527.imageshack.us/img527/9775/searchdisplaycontrollerz.png

私は、ソートのハックコードによってセグメント化されたコントロールを変更することができた:ボタンは、彼らは同じようにかなりあるので、私はそれを修正することができるか、巨大であるしかし

- (void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller { 
for (UIView *subview in self.view.subviews) { 
    for (UIView *subview2 in subview.subviews) { 
     if ([subview2 isKindOfClass:[UISegmentedControl class]]) { 
      UISegmentedControl *segmentedControl = (UISegmentedControl *)subview2; 
      segmentedControl.tintColor = [UIColor blackColor]; 
      segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; 
     }   
    } 
}} 

オリジナル?

1

segmentedControlStyleをすべて試しても、ボタンを小さくすることはできませんでした。 IOS4の色合いを正しく取得するために必要なコードは次のとおりです。

- (void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller { 
    static BOOL tintAlreadyChanged = NO; 
    if (tintAlreadyChanged) return; 

    NSLog(@"Searching subViews for UISegmentControl:"); 
    //fix segmented control 
    for (UIView *subview in self.view.subviews) { 
     //NSLog(@"\n\nsubView = %@",subview); 
     for (UIView *subview2 in subview.subviews) { 
      //NSLog(@"subView2 = %@",subview2); 
      for (UIView *subview3 in subview2.subviews) { 
       //NSLog(@"subView3 = %@",subview3); 
       if ([subview3 isKindOfClass:[UISegmentedControl class]]) { 
        NSLog(@"Found UISegment SubView = %@",subview3); 
        UISegmentedControl *segmentedControl = (UISegmentedControl *)subview3; 
        segmentedControl.tintColor = [UIColor blackColor]; 
        segmentedControl.segmentedControlStyle = UISegmentedControlStyleBezeled; 
        tintAlreadyChanged = YES; 
       } 
      }      
     } 
    } 
} 
関連する問題