Objective c 通过编程方式添加UISearchBar-Bar在iPad发布时不在屏幕上

Objective c 通过编程方式添加UISearchBar-Bar在iPad发布时不在屏幕上,objective-c,xcode,ipad,uitableview,search,Objective C,Xcode,Ipad,Uitableview,Search,我已经使用下面的代码将UISearchBar添加到我的iPad应用程序中的一个表中。该表位于“拆分视图”控制器的左侧 问题是,当应用程序启动时,搜索栏奇怪地位于屏幕左侧——你只能看到它的最后几个像素。如果您单击它,或者向下滚动并向上滚动,它会自动恢复,看起来应该是这样的 有人能建议如何解决这个问题吗 谢谢 searchBar = [[UISearchBar alloc] init]; self.tableView.tableHeaderView = searchBar; searchContr

我已经使用下面的代码将UISearchBar添加到我的iPad应用程序中的一个表中。该表位于“拆分视图”控制器的左侧

问题是,当应用程序启动时,搜索栏奇怪地位于屏幕左侧——你只能看到它的最后几个像素。如果您单击它,或者向下滚动并向上滚动,它会自动恢复,看起来应该是这样的

有人能建议如何解决这个问题吗

谢谢

searchBar = [[UISearchBar alloc] init];
self.tableView.tableHeaderView = searchBar;

searchController = [[UISearchDisplayController alloc]
                    initWithSearchBar:searchBar
                    contentsController:self];

searchBar.delegate = self;
searchController.delegate = self;
searchController.searchResultsDelegate=self;
searchController.searchResultsDataSource=self;

您可以尝试使用以下框架创建UISearchBar:

 CGRect searchViewFrame = CGRectMake(33, 33, 264, 31);
或任何维度或原点

与其他资源一样,您可以在UIView中创建UISearchBar,并将此UIView添加到UITableView:

UIView *containerSearch = [[UIView alloc] initWithFrame: searchViewFrame];
searchBar = [[UISearchBar alloc] init];
[containerSearch addSubview: searchBar];
self.tableView.tableHeaderView = containerSearch;

您可以尝试使用以下框架创建UISearchBar:

 CGRect searchViewFrame = CGRectMake(33, 33, 264, 31);
或任何维度或原点

与其他资源一样,您可以在UIView中创建UISearchBar,并将此UIView添加到UITableView:

UIView *containerSearch = [[UIView alloc] initWithFrame: searchViewFrame];
searchBar = [[UISearchBar alloc] init];
[containerSearch addSubview: searchBar];
self.tableView.tableHeaderView = containerSearch;