2015-06-29 39 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"); 
}