2009-10-13 2 views
5

alt text http://img210.imageshack.us/img210/5992/searchdisplaycontroller.pngНастроить UISearchDisplayController

Возможны ли следующие объекты:

1. UISearchBar Scope Кнопки (UISegmentedController)

2. UIResultsTableView

3. Клавиатура (по крайней мере, так он окрашен в черный цвет)

+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

Я также никогда не мог заставить кнопки быть меньшими, несмотря на то, что каждый сегментированный элемент управления ControlStyle. Вот код, который мне нужно использовать, чтобы, по крайней мере, правильно настроить цвет оттенка на 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; 
       } 
      }      
     } 
    } 
}