Вы можете управлять «распространением», устанавливая пользовательское свойство shadowPath на CALayer.
CGFloat radius = CGRectGetWidth(view.bounds)/2.0;
// this is a sample code for a circle, but you can use any shape you want
CGPathRef shadowPathRef = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, 2.0 * radius, 2.0 * radius) cornerRadius:radius].CGPath;
layer.shadowPath = shadowPathRef;
Если вы установите радиус на большее значение, разброс теней будет больше.