2015-06-29 44 views
1

我有一個自定義類,它是UIView的子類。在storyboard中,我將UIView's類設置爲自定義類。 在storyboard有一個高度constraint,以便我可以通過編程方式更改高度。 (我知道這不是唯一的方法,但我認爲這是最簡單的方法。)更改幀時執行代碼

我想在高度變化時每次在自定義類中執行一些代碼。

我試過如下:

- (void)setFrame:(CGRect)frame { 
    [super setFrame:frame}; 
    NSLog(@"Frame did change"); 
} 

但這種方法只在啓動時運行,而不是在它的(self)高度變化。我怎樣才能執行代碼隨時它的框架被改變?

回答

2

只是覆蓋layoutSubviews方法在自定義視圖類

- (void)layoutSubviews 
{ 
    [super layoutSubviews]; 
    NSLog(@"Frame did change"); 
}