Нужно создать представление с прозрачной рамкой внутри, чтобы виды за представлением можно было увидеть через эту прозрачную рамку, но области за ее пределами не будут видны. Так что, по сути, окно в представлении.
В надежде сделать что-то вроде этого:
CGRect hole = CGRectMake(100, 100, 250, 250);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [UIColor blackColor].CGColor);
CGContextFillRect(context, rect);
CGContextAddRect(context, hole);
CGContextClip(context);
CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor);
CGContextFillRect(context, rect);
но прозрачный не перекрывает черный, поэтому весь фон черный. Любые идеи в этом направлении?