ios - UIView重复调用多次layoutSubviews方法
ringa_lee
ringa_lee 2017-04-18 09:25:36
0
2
704

上面这段代码是我自定义UIView里面的一个UILabel,因为我需要在Controller里面动态更新该UILabel的内容,所以我在自定义UIView里面重写了UILabel的getter方法。
现在问题来了,当我在Controller里面给UILabel赋值的时候,却导致了一个严重的问题,自定义UIView一直在重复调用若干次layoutSubviews这个方法。非常郁闷,不知道哪里出了问题。
希望各位能给我指条明路,解决了很久没找出问题所在。感谢

- (UILabel *)moneyLabel
{
    if (!_moneyLabel) {
        _moneyLabel = [[UILabel alloc] init];
        _moneyLabel.textAlignment = NSTextAlignmentCenter;
        [_moneyLabel setTextColor:MAIN_COLOR];
        [_moneyLabel setFont:[HDComponentTools regularFont:30]];
        self.moneyLabel = [HDComponentTools labelSizeFit:self.moneyLabel];
        [self addSubview:_moneyLabel];
        
        [_moneyLabel mas_makeConstraints:^(MASConstraintMaker *make) {
            make.top.equalTo(_moneyTitle.mas_bottom).offset(5);
            make.centerX.equalTo(_moneyTitle.mas_centerX);
        }];
    }
    return _moneyLabel;
}
ringa_lee
ringa_lee

ringa_lee

membalas semua(2)
伊谢尔伦

layoutSubviews dipanggil apabila bingkai uiview berubah Ini pasti akan berlaku jika anda menggunakan kekangan untuk menyesuaikan saiz uilabel.

大家讲道理

LayoutSubViews biasanya menulis bingkai secara langsung

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan