¿Cómo redimensionar un CAGradientLayer después de la rotación?

Estoy agregando unCAGradientLayer a una vista. Cuando la vista cambia automáticamente de tamaño (como después de una rotación), la capa de degradado no cambia de tamaño. ¿Se puede configurar el degradado para que cambie de tamaño automáticamente igual que la vista? Tenga en cuenta también que estoy usando restricciones de diseño automático en la vista.

Esto es lo que estoy haciendo:

    CAGradientLayer *gradientLayer = [CAGradientLayer layer];
    gradientLayer.frame = CGRectMake(0.0, 0.0, frame.size.width, frame.size.height);
    gradientLayer.colors = [NSArray arrayWithObjects:
                       (id)[[UIColor colorWithRed:255.0/255.0f green:255.0/255.0f blue:255.0/255.0f alpha:1.0f] CGColor],
                       (id)[[UIColor colorWithRed:233.0/255.0f green:233.0/255.0f blue:233.0/255.0f alpha:1.0f] CGColor], nil];

    [self.layer insertSublayer:gradientLayer atIndex:0];

Respuestas a la pregunta(2)

Su respuesta a la pregunta