UISearchDisplayController上方的白线

时间:2011-06-01 11:25:52

标签: iphone uikit uisearchdisplaycontroller

我遇到了uisearchdisplaycontroller的问题。 如果我将控制器的搜索栏添加到tableviews标题视图,它会在搜索栏上方显示一条细白线!如果我添加没有搜索控制器的搜索栏,它会正确显示它。重要的是你要仔细查看标准的searchdisplaycontroller或稍微自定义它,否则你将无法看到该行。

有谁知道避免白线的方法?

BaseViewController的init方法中的代码:UIViewController

   searchBar = [[UISearchBar alloc] initWithFrame:CGRectZero];
   [searchBar sizeToFit];
   searchBar.showsCancelButton = NO;
   searchBar.barStyle = UIBarStyleDefault;
   searchBar.hidden = NO;

    searchBar.delegate = self;
    searchBar.placeholder = @"Suche";

    searchCtrl = [[UISearchDisplayController alloc]
                  initWithSearchBar:searchBar contentsController:self];
    searchCtrl.delegate = self;
    searchCtrl.searchResultsDataSource = self;
    searchCtrl.searchResultsDelegate = self;
    [searchCtrl searchResultsTableView].scrollsToTop = NO;

StartViewController中的代码:viewWillAppear中的BaseViewController

tableController.tableView.tableHeaderView = searchCtrl.searchBar;
searchBar.hidden = NO;

if ( [tableController.tableView contentOffset].y == 0.0 )
{
    [tableController.tableView setContentOffset:CGPointMake(0.0, 44.0) animated:NO];        
}

没什么特别的,对我而言,它与UISearchDisplayController有关,而不是实现,因为如果你只使用搜索栏一切都很好

1 个答案:

答案 0 :(得分:4)

设置searchBar.clipsToBounds = YES;