fix bug with infinite loop layoutSubviews