0

首先,我构建一个视图添加到 tableview 作为 tableHeaderView

 UIView *mainHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 300)];

    [self.mainViewTableView setTableHeaderView:mainHeaderView];

我可以调整 mainHeaderView 的高度,但我不能调整这个 headView 的 Y 位置。

我试图添加一个子视图:

self.searchForShop = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, self.mainViewTableView.tableHeaderView.frame.size.width, 44)];
    [self.mainViewTableView addSubview:self.searchForShop];

运行app,发现subview的宽度比tableHeadView长。进行查看调试,发现子视图比 tableHeadView 宽 16(我在 iphone5s 中运行)。

如何解决?

在此处输入图像描述

4

1 回答 1

0

你可以这样尝试,设置tableview的宽度可能有问题,只需将搜索栏的宽度设置为tableview的宽度

//create a tableview
tableView=[[UITableView alloc]initWithFrame:self.view.bounds style:UITableViewStylePlain];
[self.view addSubview:self.tableView];
self.tableView.delegate=self;
self.tableView.dataSource=self;


UISearchBar *searchBar=[[UISearchBar alloc]init];
/* option 1 ->[searchBar sizeToFit]; */
/* option 2 ->*/ searchBar.frame = CGRectMake(0, 0, self.tableView.bounds.size.width, 44); //set the width how much table view has
searchBar.delegate=self;
[self.tableView setTableHeaderView:searchBar];
于 2016-04-25T09:56:44.403 回答