增加UITableView之上的UIView高度



我通过storyboard在UITableView上面添加了一个UIView。我想知道是否有一个好方法来增加高度的UIView编程和推下表格单元格。UITableView是一个静态表。

我使用这个代码:

CGRect newFrame = myUIView.frame;
newFrame.size.height = 300;
myUIView.frame = newFrame;

在这段代码中,UIView的高度是增加的,但是它与下面的表格单元格重叠。有没有办法把tableview往下推?

谢谢!

既然你正在使用故事板,最简单和最干净的方法就是改变UITableView的大小并将其向下移动以为UIView腾出空间。然后你可以移动/改变UIView到任何你想要的大小。

Non-storyboard解决方案。修改UITableView的框架

self.tableView.frame = CGRectMake(x,y,height,width);

如果你使用自动布局,这是非常简单的。
固定UIView的高度。这将为高度创建一个NSLayoutConstraint。然后为它创建一个属性,并根据需要在代码中更新。

@property (weak, nonatomic) IBOutlet UIView *uiview1;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *uiViewHeight;

更新约束的高度常数,然后更新UIView约束。UITableView会改变以适应修改后的UIView。

self.uiViewHeight.constant = 150.0f;
[self.uiview1 setNeedsUpdateConstraints]; 

最新更新