2015-09-07 84 views
0

我想在UIView展开时稍微移动tableViewCell将UIView展开时稍微移动TableViewCell

我有一些最初隐藏在视图中的细节信息。现在,如果用户对细节信息感兴趣,他们可以点击视图上的按钮来显示细节信息,但是细节框架侵入到tableViewCells中,所以我想要改变tableViewCells的位置以稍微移动它以适应视图的框架。

是否可以更改cellForRowAtIndexPath中的单元格框架? 我已经尝试过了,但是出现错误。

enter image description here

下面的图片说,当我点击箭头图片,它显示的详细信息。 enter image description here

谢谢。

注意:我的UIView位于UITableView之内,因此更改UITableView的框架不起作用。

+1

可以显示屏幕截图 – baydi

+0

希望这些图片能帮助你理解。谢谢。 –

回答

0

您可以更改UITableViewContentOffset

self.tableView.contentOffset = CGPointMake(0, self.tableView.contentOffset.y + 44); 
+0

它只是滚动我的屏幕到(0,44),这不是我的需要。我想将tableViewCell向下移动以避免阻塞细节信息(我添加了一些截图)。 –

+0

那么,你必须将'44'改成'self.tableView.contentOffset.y + 44'。这会使它下降44点。你可以玩这个来得到想要的结果。 – user4992124

0
self.tableView.frame = CGRectMake(self.tableView.frame.origin.x,self.detailView.frame.origin.y + self.detailView.frame.size.height,self.tableView.frame.size.width,self.tableView.size.height - x);//set value of x according to your need 

我希望这会help.Thankyou

+0

我使用UITableViewController,UIView进入UITableView,所以这个解决方案不起作用。因为我改变了UITableView的框架,所以UIView也像UITableView一样向下移动。如果我不使用UIViewController,有任何可能的解决方案可以解决它吗? –

+1

因此,请选择两个带detailview的独立单元。 。 。详细视图将打开根据detailview大小更改cellsize并重新加载tableview – baydi

+0

您是指将UIView更改为TableViewCell?当我触摸detailCell时更改detailCell的大小。我认为这是个好主意,非常感谢你。 –

0

你应该改变UITableViewcontentInset

youtableview.contentInset = UIEdgeInsetsMake(x, 0, 0, 0); 

你应该修复x值来处理您的自定义视图的高度。 祝你好运。