【问题标题】:Perform code when frame is changed帧改变时执行代码
【发布时间】:2015-06-29 19:32:18
【问题描述】:

我有一个自定义类,它是UIView 的子类。在storyboard 中,我将UIView's 类设置为自定义类。 storyboard 中的 view 的高度为 constraint,因此我可以通过编程方式更改高度。 (我知道这不是唯一的方法,但我认为这是最简单的方法。)

我想在每次view's 高度变化时在自定义类中执行一些代码。

我尝试了以下方法:

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

但此方法仅在启动时运行,而不是在 (self) 高度更改时运行。如何在框架发生更改时执行代码?

【问题讨论】:

    标签: ios objective-c frame


    【解决方案1】:

    只需在您的自定义视图类中覆盖 layoutSubviews 方法

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-25
      • 1970-01-01
      相关资源
      最近更新 更多