Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UITableView标题视图大小调整_Ios_Cocoa Touch_Uitableview_Uisearchbar - Fatal编程技术网

Ios UITableView标题视图大小调整

Ios UITableView标题视图大小调整,ios,cocoa-touch,uitableview,uisearchbar,Ios,Cocoa Touch,Uitableview,Uisearchbar,我在uitableview headerview中放置了一个UISearchBar,在viewcontroller viewdidLoad方法中将headerview高度设置为0并隐藏搜索栏,并希望在触摸按钮时显示搜索栏,在触摸处理程序中我恢复headerview高度并显示UISearchBar,但搜索栏覆盖了tableview的第一行。有没有办法避免重叠 将headerview的clipsToBounds属性设置为YES就可以了。将headerview的clipsToBounds属性设置为YE

我在uitableview headerview中放置了一个UISearchBar,在viewcontroller viewdidLoad方法中将headerview高度设置为0并隐藏搜索栏,并希望在触摸按钮时显示搜索栏,在触摸处理程序中我恢复headerview高度并显示UISearchBar,但搜索栏覆盖了tableview的第一行。有没有办法避免重叠

将headerview的clipsToBounds属性设置为YES就可以了。

将headerview的clipsToBounds属性设置为YES就可以了。

在headerview中将clipsToBounds更改为YES。

在headerview中将clipsToBounds更改为YES。

什么都没有发生,我必须在哪里设置此属性?我在恢复原始尺寸之前设置了它。当高度为0时,应该已经设置了它;此时搜索栏将与下面的tableview重叠,因为它不适合。通常,您会在创建headerview之后设置它,但在使其高度为0之前设置它也会起作用。不,它不起作用,也许我做错了什么?这是我的密码。在viewDidLoad方法中,CGRect headerframe=self.tableView.tableHeaderView.frame;[self.searchBar设置隐藏:是];self.tableView.tableHeaderView.clipstobunds=YES;self.tableView.tableHeaderView.frame=CGRectMake(headerframe.origin.x,headerframe.origin.y,headerframe.size.width,0);和触摸式处理程序[self.searchBar setHidden:NO];CGRect headerframe=self.tableView.tableHeaderView.frame;self.tableView.tableHeaderView.frame=CGRectMake(headerframe.origin.x,headerframe.origin.y,headerframe.size.width,44);在tableView上调用setTableHeaderView之前,对headerview所做的更改将不可见。您应该将self.tableView.tableHeaderView复制到一个变量,像现在一样调整设置,然后调用setTableHeaderView.Thank Stuart它可以工作,还有一个问题我应该在设置之前创建一个复制或保留标题视图对象,还是在设置之前保留对象?没有发生任何事情,我必须在哪里设置此属性?我在恢复原始尺寸之前设置了它。当高度为0时,应该已经设置了它;此时搜索栏将与下面的tableview重叠,因为它不适合。通常,您会在创建headerview之后设置它,但在使其高度为0之前设置它也会起作用。不,它不起作用,也许我做错了什么?这是我的密码。在viewDidLoad方法中,CGRect headerframe=self.tableView.tableHeaderView.frame;[self.searchBar设置隐藏:是];self.tableView.tableHeaderView.clipstobunds=YES;self.tableView.tableHeaderView.frame=CGRectMake(headerframe.origin.x,headerframe.origin.y,headerframe.size.width,0);和触摸式处理程序[self.searchBar setHidden:NO];CGRect headerframe=self.tableView.tableHeaderView.frame;self.tableView.tableHeaderView.frame=CGRectMake(headerframe.origin.x,headerframe.origin.y,headerframe.size.width,44);在tableView上调用setTableHeaderView之前,对headerview所做的更改将不可见。您应该将self.tableView.tableHeaderView复制到一个变量,像现在一样调整设置,然后调用setTableHeaderView.Thank Stuart它可以工作,还有一个问题,我应该在设置之前创建一个复制或保留标题视图对象,还是在设置之前保留该对象?