Si usa una imagen que es significativamente más pequeña que el marco de la vista y escala la imagen, se verá borrosa.
Puede usar CALayers. Declare una capa raíz y agregue la imagen de fondo como una subcapa. Coloque los "contenidos" en una subvista con un fondo transparente. (De lo contrario, el "contenido" probablemente ser oscurecida por la subcapa borrosa.)
Aquí está el código parcial (y no probado) para la creación de la subcapa:
// Set up the root layer.
[[self.aViewController view] setLayer:[CALayer layer]];
[[self.aViewController view] setWantsLayer:YES];
// Set up a sublayer.
CALayer *blurredSublayer = [CALayer layer];
NSRect rectOfView = [self.aViewController view] frame];
blurredSublayer.bounds = rectOfView;
// Views are usually positioned from their lower left corner, but CALayers are positioned from their center point.
blurredSublayer.position = CGPointMake(rectOfView.size.width/2, rectOfView.size.height/2);
// Set the sublayer's contents property to the image you've chosen. You might need to do the scaling when you set up the CGImageRef used by the contents property. (I haven't done this; I leave it to you.)
// Add the sublayer to the view's root layer.
[self.aViewController.view.layer addSublayer:blurredSublayer];
// You'll probably want to save expense by calling setWantsLayer:NO for the contents-bearing subview, since it will have been turned on when you set up the superview's root layer.
o podría ser más fácil usar un CGContext. Pero con el CALayer tienes la propiedad zPosition que mencionaste.
P.S. El uso de "contenidos" y "supervista" y "subcapa" hace que la estructura sea confusa. Aquí hay una jerarquía descriptiva. El mencionado en primer lugar artículo está en la parte inferior y este último en la parte superior, como lo sería en el IB:
- supervista con la capa de raíz
- subcapa borrosa de supervista (propiedad contenidos de subcapa se escala plano de la imagen)
- subvista/s (campos de texto o lo que tenía en mente como "contenidos")