框架改变时执行代码
Perform code when frame is changed
我有一个自定义 class,它是 UIView
的子class。在 storyboard
中,我将 UIView's
class 设置为自定义 class。 storyboard
中的 view
的高度为 constraint
,因此我可以通过编程方式更改高度。 (我知道这不是唯一的方法,但我认为这是最简单的方法。)
我想在每次 view's
高度变化时在自定义 class 中执行一些代码。
我尝试了以下方法:
- (void)setFrame:(CGRect)frame {
[super setFrame:frame};
NSLog(@"Frame did change");
}
但此方法仅在启动时运行,而不是在 (self
) 高度更改时运行。我如何在框架更改时执行代码?
只需覆盖自定义视图中的 layoutSubviews
方法 class
- (void)layoutSubviews
{
[super layoutSubviews];
NSLog(@"Frame did change");
}
我有一个自定义 class,它是 UIView
的子class。在 storyboard
中,我将 UIView's
class 设置为自定义 class。 storyboard
中的 view
的高度为 constraint
,因此我可以通过编程方式更改高度。 (我知道这不是唯一的方法,但我认为这是最简单的方法。)
我想在每次 view's
高度变化时在自定义 class 中执行一些代码。
我尝试了以下方法:
- (void)setFrame:(CGRect)frame {
[super setFrame:frame};
NSLog(@"Frame did change");
}
但此方法仅在启动时运行,而不是在 (self
) 高度更改时运行。我如何在框架更改时执行代码?
只需覆盖自定义视图中的 layoutSubviews
方法 class
- (void)layoutSubviews
{
[super layoutSubviews];
NSLog(@"Frame did change");
}