¿Cómo diseñar UIView por separado fuera de cualquier ViewController en Storyboard?

Me gustaría diseñar una UIView, que es más grande que un ViewController en Storyboard (iOS 5).

La UIView debería usarse como la subvista de una UIScrollView y, por lo tanto, ser más grande que cualquiera de mis ViewControllers existentes. ¿Cómo puedo crear una UIView en Storyboard y asociarla con mi UIScrollView?

Quisiera hacer esto sin files xib si es posible.

¡Gracias!

No veo otra opción que usar xibs, pero no es tan molesto:

//We have file called "View.xib" in our project. It contains one SINGLE view NSArray *xibContents = [[NSBundle mainBundle] loadNibNamed:@"View" owner:self options:nil]; UIView *view = [xibContents lastObject]; //safer than objectAtIndex:0 [self.scrollview addSubview:view]; self.scrollview.contentSize = view.frame.size; 

Para poder establecer conexiones IB puede configurar la class filesOwner en el xib para que sea su viewController y conectarse como siempre.

Puede colocar una UIView en su vista de desplazamiento y diseñarla directamente dentro del viewController de su scrollView

Encontré la manera de editar la vista agregada a la escena (estando en el mismo nivel de jerarquía que ViewController).

Desafortunadamente, es a partir de types de acciones hackish . Mi versión de Xcode es la Version 4.5.2 (4G2008a) . He probado esto en un proyecto real y un nuevo proyecto vacío.

La idea básica es que Xcode tiene la capacidad de editar vistas externas, por desgracia, este modo no se activa de forma directa.

En el método que he encontrado, necesitas tener 2 niveles de jerarquía dentro de tu vista externa:

 Escena
 | - VC
    | - Vista
 | - ExternalView
    | - SubView1
       | - SubView2
  • A continuación, vaya al panel Document Outline
  • Encuentra SubView2 en el tree de tu escena.
  • doble clic

Aparecerá el área de edición y sus coorderadas se saveán en los datos de usuario del proyecto, por lo que puede moverlo a un lugar más adecuado si así lo desea, y la próxima vez que abra el guión gráfico en IB en la máquina, estará allí. Aunque pienso en otras máquinas, tendrás que volver a hacerlo (no lo he probado).