我通过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];