Objective c 带有ViewController问题的UISearchDisplayController

Objective c 带有ViewController问题的UISearchDisplayController,objective-c,uitableview,uisearchdisplaycontroller,Objective C,Uitableview,Uisearchdisplaycontroller,我有一个ViewController,前面有一个导航控制器,里面有一个TableView和其他元素。tableView还有一个搜索栏,在场景中,除了主ViewController之外,我还有一个搜索显示控制器 功能正常,但我有以下UI问题: 虽然我的主视图有黑色背景色(大多数元素都有黑色背景色),但当我向下拖动tableView时,会出现一些空白 我还有以下UI的初始设置 -(void) viewWillAppear:(BOOL)animated{ [super viewWillApp

我有一个ViewController,前面有一个导航控制器,里面有一个TableView和其他元素。tableView还有一个搜索栏,在场景中,除了主ViewController之外,我还有一个搜索显示控制器

功能正常,但我有以下UI问题:

  • 虽然我的主视图有黑色背景色(大多数元素都有黑色背景色),但当我向下拖动tableView时,会出现一些空白
  • 我还有以下UI的初始设置

    -(void) viewWillAppear:(BOOL)animated{
        [super viewWillAppear:animated];
    
        self.view.backgroundColor = [UIColor blackColor];
        self.tableView.backgroundColor = [UIColor blackColor];
    
        self.searchDisplayController.searchResultsTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
        self.searchDisplayController.searchResultsTableView.separatorColor = [UIColor blackColor];
        self.searchDisplayController.searchResultsTableView.separatorInset = UIEdgeInsetsMake(0, 12, 0, 12);
    
    
        [self.searchDisplayController.searchResultsTableView setBackgroundColor:[UIColor blackColor]];
        [self.searchDisplayController.searchContentsController.view setBackgroundColor:[UIColor blackColor]];
        self.searchDisplayController.searchBar.barStyle = UIBarStyleBlack;
        self.searchDisplayController.displaysSearchBarInNavigationBar = NO;
    }
    
  • 当我搜索结果并在搜索栏后向上拖动表格时,有一个小地方可以看到表格视图
  • 你知道我该怎么解决这个问题吗

    编辑更新: 从TableView中删除搜索栏解决了这两个问题。在此之后,另一个问题是Search Display Controller的动画没有更新搜索栏。通过以下帖子解决了这一问题:

  • 您必须将
    UIView
    背景色设置为黑色(而不仅仅是
    UITableView
    color)
  • 您必须将您的表视图放置在
    UISearchBar
    下方,您可以通过编程或IB执行此操作。我推荐第二个选项。非常简单

  • 1.
    self.view.backgroundColor=[UIColor blackColor];
    self.tableView.viewForBaselineLayout.backgroundColor=[UIColor blackColor];
    这没有任何作用。2.IB是什么意思?1.使用self.view.UITableView是UIView的子视图,仅此而已。2.IB代表接口生成器(故事板,xib)。您可以通过IB或编程方式设置框架坐标来安排界面元素的位置。1.已经这样做了,正如您在上面所看到的。2.我正在尝试,将返回。请使用代码编辑您的帖子,您用于为每个元素设置颜色。并在为self设置颜色时粘贴代码。view.1.将尽快更新我的帖子2.当我单击搜索,导航栏将显示动画,表格视图将变大。如何使搜索栏与表格视图和导航栏一起显示动画?很好,很高兴您解决了问题。祝您编码顺利;)