after changing values which influence size, call invalidateIntrinsicContentSize so AutoLayout will use new size