2014-02-10 57 views
0

我想在按鈕切換時將視圖的頂部填充更改爲80。這將如何完成?基本上我希望在視圖頂部和文本之間有80的空間。如何更改iOS中視圖的頂部填充?

+0

這取決於很多的東西:你畫自己的觀點(在'的drawRect:')或是複合視圖(它有一個小孩的標籤)?你是否使用自動佈局? – DarkDust

+0

我有這樣的:'self.contentView = [[UIView alloc] initWithFrame:contentFrame];' – Julia

+1

你是如何將文本添加到視圖? – hgwhittle

回答

1

如果您使用的是自動佈局,那麼最簡單的方法是爲文本與視圖頂部之間的距離創建一個約束。您可以將它連接到代碼中的NSLayoutConstraint,並在按下按鈕時將constraint.constant設置爲新值。

@property (nonatomic, weak) IBOutlet NSLayoutConstraint *paddingConstraint; 


// Somewhere after the button press 
self.paddingConstraint.constant = 80; 

哦,你可能會需要通過調用此方法來更新佈局 -

[self layoutIfNeeded]; 
+0

當您使用絕對佈局時,這是否正常工作? – Julia

+0

那麼,如果你沒有使用自動佈局,你只需要爲標籤創建一個新框架來將其向下移動。像這樣 - self.label.bounds = CGRectMake(self.label.bounds.origin.x,self.label.bounds.origin.y + 80,self.label.bounds.size.width,self.lable.bounds .size.height); – Eagle11

相關問題