Poner el widget / vista en un archivo .xib separado funciona y es apropiado especialmente si desea hacer referencia a esa misma vista desde múltiples controladores de vista.
Sin embargo, a veces desea ver la vista / widget adicional dentro del mismo guión gráfico, y es posible. Así es como lo haces:
Seleccione su controlador de vista en IB (haga clic en la barra negra debajo de la vista), luego arrastre una UIView desde la Biblioteca de objetos a la barra negra:
Cuando una vista está en la barra negra, se crea una instancia como cualquier otra vista en IB, pero simplemente no se agrega a su jerarquía de vista hasta que lo hace en código. Cambie la clase de la vista para que coincida con su propia subclase si es necesario:
Puede conectarlo a su controlador de vista como lo haría con cualquier otra vista:
La vista agregada aparece en el esquema de su documento y también puede conectar acciones y referencias allí:
Ahora, el problema que permanece es que en realidad no puede ver la vista sin importar cuántas veces intente hacer clic o hacer doble clic, lo que frustraría todo el propósito de ponerlo en el mismo guión gráfico. Afortunadamente, hay dos soluciones que conozco.
La primera solución es arrastrar la vista desde la barra negra a la vista del controlador de vista, editarla y luego volver a arrastrarla a la barra negra una vez que haya terminado. Esto es problemático pero confiable.
La otra solución es más delicada, pero la prefiero porque me permite ver todas mis vistas al mismo tiempo:
Arrastre un UITableView desde la biblioteca de objetos a su vista recién agregada.
Luego, arrastre un UITableViewCell a ese UITableView.
Una vez que lo hace, su vista aparece mágicamente a un lado, pero tiene un UITableView que no desea. Puede cambiar el tamaño a 0x0, o puede eliminarlo y su UIView (generalmente) seguirá siendo visible.
Ocasionalmente, la vista secundaria se volverá a ocultar en IB. Puede repetir los pasos anteriores si eliminó UITableView, o si UITableView todavía está en la jerarquía, solo necesita hacer clic en UITableViewCell y la vista aparecerá nuevamente.
El segundo método funciona para UIViews pero no tan bien para UIToolbars y es imposible para UIButtons, por lo que la solución más limpia que he encontrado cuando necesita incluir muchas subvistas diferentes es adjuntar una única UIView secundaria a su controlador de vista como un contenedor que nunca se muestra, coloque todas sus vistas secundarias allí y use el truco UITableViewCell para hacer que todo sea visible. Cambio el tamaño de mi UITableView ficticio a 0x0 para hacerlo invisible. Aquí hay una captura de pantalla de cómo se ve todo junto:
xib
mensajes de correo electrónico para sus controladores de vista por separado y no en el guión gráfico?