我想以编程方式更改UITableview
位置的位置。我在viewDidLoad
,ViewWillAppear
回调中添加了以下代码,但位置没有变化。
Table.frame = CGRectMake(0,100,320,200);
当我在Storyboard中禁用Auto Layout
选项时,表格视图的位置正在发生变化。但是,我需要保留Auto Layout
选项以维持对不同设备类型的支持。
答案 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;