移动表格视图位置和隐藏视图
Posted
技术标签:
【中文标题】移动表格视图位置和隐藏视图【英文标题】:Shifting table view position and hiding views 【发布时间】:2013-03-06 05:29:36 【问题描述】:我的设计由顶部的搜索栏和下方的表格视图组成。但是,如果用户单击搜索栏文本字段,有一个细微差别需要我在搜索栏下方和表格上方显示图像和标签。我正在考虑将包含标签和图像的视图设置为隐藏,然后根据用户是否开始在搜索文本字段中编辑/键入来移动表格的框架。但我不确定这是否是最好的方法,这是否是个好主意?任何代码都会有所帮助。
基本上我想知道如何隐藏视图,然后将我的 tableview 移动到完全相同的位置,而不会显示间隙或空白。
【问题讨论】:
您也可以在用户开始编辑/键入时创建视图,而不是取消隐藏它。但这只是另一种方式。发布您到目前为止所做的工作以帮助您编写代码。 【参考方案1】:请这样做。我想这可能是你的帮助。
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
// here you make your image and label hidden and change your tableview's frame means table's y coordinte.
Like that
lbl.hidden = YES;
imgView.hidden = YES;
tblview.frame = CGRectMake
(tblView.frame.origin.x,50,tblView.frame.size.width,tblView.frame.size.height);
【讨论】:
问题是当我使用 CGRectMake 向上移动我的桌子时,桌子不能在那个位置(我认为是因为视图存在于情节提要中。 是的,这是个问题。你也知道我的代码可以在正常视图下工作。所以我写在这里。亲爱的,我对故事板不了解更多。对不起亲爱的。【参考方案2】:使用以下委托方法检测搜索栏编辑状态
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar;
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar;
在此方法中,您可以实现代码来显示/隐藏包含标签和图像的视图。
然后你必须设置你的表格视图的框架。
【讨论】:
谢谢,但是当调整我的表格视图的框架时,它不能与我的隐藏视图处于同一位置。我该如何解决这个问题? 如果表视图和其他视图的父视图相同,则可以从详细视图框架中获取 x 和 y 点。使用此点设置表视图的位置。 是的,父视图是一样的。当您说详细视图框架时,您是什么意思?问题是当我使用标签隐藏视图时,表格视图无法占据其确切位置并且空白间隙始终可见。 详细视图是包含标签和图像的视图。以上是关于移动表格视图位置和隐藏视图的主要内容,如果未能解决你的问题,请参考以下文章