Now it seems obvious, and I feel silly about it, but setting a view's autoresizingMask's before setting its frame or bounds, makes the resizing not work properly.
autoresizingMask
frame
bounds