set frame in layoutSubviews