将 uiview 添加到 UITableView 标头得到错误的宽度?
Adding sub view to UITableViewHeader getting wrong width?
首先我建立一个视图添加到 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中运行)。
如何解决?
你可以这样试试,可能是tableview的宽度设置有问题,把search bar的宽度设置成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];
首先我建立一个视图添加到 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中运行)。
如何解决?
你可以这样试试,可能是tableview的宽度设置有问题,把search bar的宽度设置成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];