UIIView在UITableView内部将帧高度更改为0或60

时间:2014-11-04 12:13:46

标签: ios uitableview uiview

我在UITableView的顶部有一个UIView(在故事板中拖放。我试图隐藏并显示该视图。但是表视图就位。我怎么能改变uivew的框架所以当它是隐形的tableview时所有的通往顶峰的方式?

PS。我会为愿意提供帮助的人提供更多信息。在此先感谢

http://i.stack.imgur.com/cM3tA.png  ![带汉堡按钮和文本字段的视图)

1 个答案:

答案 0 :(得分:1)

使用自动布局:

  • 使用button和textField
  • 为您的UIView添加高度约束
  • 为此高度约束创建引用插座(让我们计算它将是" searchViewHeightConstraint")
  • 在UIView和UITableView之间添加垂直间距约束
  • 在代码中 - 当你需要隐藏UIView时 - 只需将其高度约束设置为0

    self.searchViewHeightConstraint.constant = 0.f;

此外,您需要存储UIView的初始高度(当它可见时),并在需要显示UIView时将其高度约束设置为此值。

没有自动布局:

  • 保存UIView框架高度的值
  • 将UIView的高度设为0
  • 使用UIView的保存高度减小UITableView框架的y坐标

    CGRect tableViewFrame = tableView.frame;    
    tableViewFrame.origin.y -= viewInitialHeight;    
    tableView.frame = tableViewFrame;