使用AutoLayout支持以编程方式更改表视图位置

时间:2014-06-19 11:41:17

标签: ios uitableview storyboard autolayout

我想以编程方式更改UITableview位置的位置。我在viewDidLoadViewWillAppear回调中添加了以下代码,但位置没有变化。

Table.frame = CGRectMake(0,100,320,200);

当我在Storyboard中禁用Auto Layout选项时,表格视图的位置正在发生变化。但是,我需要保留Auto Layout选项以维持对不同设备类型的支持。

1 个答案:

答案 0 :(得分:2)

使用autolayout,并为tableView的位置和放大器设置约束。尺寸。 然后,创建IBOutlet类型的NSLayoutConstraint个实例,并将它们附加到xib中的约束中。

然后,在您的代码中,设置约束的值以重置表视图位置。

示例代码:

你的.h文件中的

@property IBOutlet NSLayoutConstraint *tableOriginX;
@property IBOutlet NSLayoutConstraint *tableOriginY;
@property IBOutlet NSLayoutConstraint *tableWidth;
@property IBOutlet NSLayoutConstraint *tableHeight;

然后,在您想要更改表格框架的.m文件中:

tableOriginX.constant = 0;
tableOriginY.constant = 100;
tableWidth.constant   = 320;
tableHeight.constant  = 200;