use center in set position instead of frame because there is problem when using affine rotation