在UITableView上方增加UIView的高度

时间:2013-05-14 17:30:25

标签: iphone ios objective-c uitableview uiview

我通过故事板在UITableView上面添加了一个UIView。我想知道是否有一种很好的方法来以编程方式增加UIView的高度并按下表格单元格。 UITableView是一个静态表。

我正在使用此代码:

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

使用此代码,UIView高度会增加,但它与下面的表格单元格重叠。有没有办法将桌面视图“推”下来?

谢谢!

2 个答案:

答案 0 :(得分:0)

由于您使用的是故事板,因此最简单,最干净的方法是更改​​UITableView的大小并向下移动以为UIView腾出空间。然后,您可以将UIView移动/更改为您想要的任何大小。

非故事板解决方案。同时更改UITableView的框架。

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

答案 1 :(得分:0)

如果您使用自动布局,这非常简单 固定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];