Corte orifício transparente no UIView

Procurando criar uma vista que tenha um quadro transparente dentro dela, para que as vistas por trás da vista possam ser vistas através desse quadro transparente, mas as áreas externas a ela não serão exibidas. Então, essencialmente, uma janela dentro da visualização.

Esperando poder fazer algo assim:

 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);

mas o clear não substitui o preto, portanto todo o fundo é preto. Alguma idéia nesse sentido?

questionAnswers(32)

yourAnswerToTheQuestion