2014-06-19 73 views
0

我想以編程方式更改UITableview位置的位置。我在viewDidLoadViewWillAppear回調中添加了以下代碼,但位置不變。使用AutoLayout支持以編程方式更改UITableView位置

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

當我禁用故事板Auto Layout選項,表視圖的地位正在發生變化。但是,我需要保持Auto Layout選項以維持對不同設備類型的支持。

回答

2

使用自動佈局,併爲您的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; 
相關問題